Research limit: a new version of an active effort is never refused; holds and tool text follow (issue 1970, ADR 0629)
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
This commit is contained in:
@@ -397,7 +397,7 @@ func (k *KB) Propose(caller string, a ProposeAsk) (*Proposed, error) {
|
||||
if !current && a.Kind == KindResearch && r.Effort == "" {
|
||||
r.Effort = held.Current.Status
|
||||
}
|
||||
if a.Kind == KindResearch && r.Effort == StatusActive {
|
||||
if a.Kind == KindResearch && r.Effort == StatusActive && (held == nil || held.Current.Status != StatusActive) {
|
||||
if why := k.activeLimitRefusal(ctx, key); why != "" {
|
||||
refusals = append(refusals, Refusal{Rule: "research-active-at-most", Says: why})
|
||||
}
|
||||
@@ -446,7 +446,7 @@ func (k *KB) Propose(caller string, a ProposeAsk) (*Proposed, error) {
|
||||
return &Proposed{Record: key.String(), Version: n, Status: StatusProposed, Says: says + "."}, nil
|
||||
}
|
||||
|
||||
// activeLimitRefusal (ADR 0629 §4, a check of the record set beside the one-record rules of ADR 0290 §4) says why a research effort may not be active now: the limit of efforts other than this one
|
||||
// activeLimitRefusal (ADR 0629 §4 names only a new effort or one taken up from an idea, never a new version of an active one; a check of the record set beside the one-record rules of ADR 0290 §4) says why a research effort may not be active now: the limit of efforts other than this one
|
||||
// already active (accepted at active, or proposed at active and waiting for review) is reached (ADR 0629). Empty
|
||||
// when it may.
|
||||
func (k *KB) activeLimitRefusal(ctx context.Context, key Key) string {
|
||||
|
||||
Reference in New Issue
Block a user