@@ -439,24 +439,60 @@ Named non-escalation classes — act immediately:
439439- ** Sequencing and dependency ordering** between technical tasks.
440440- ** Verification strategy** — what regression pass a risky-but-decided change
441441 needs. That is scoping the work, not deciding it.
442+ - ** A declaration silently dropped on a new arm, when a sibling arm already has
443+ a ruling.** When a declared key is silently ignored on one arm of a component
444+ and an earlier ruling already made that same key a ** loud authoring error** on
445+ a sibling arm, the new arm ** joins the existing rejection set by default** —
446+ reuse that ruling, queue it, dispatch it; do not spend a fresh decision on a
447+ one-word extension of an answer you already have. Only a genuine ** semantic
448+ difference between the arms** reopens the question. ** State the boundary in the
449+ same breath as the default, or the shortcut gets over-applied:** what carries
450+ over is the ruling ** together with its rationale** , never the verdict alone.
451+ When the original rationale was measured to be arm-specific — it held on the
452+ face it was ruled on and is disproved on the new one, as a "refusing this would
453+ reject usage that already works" argument does the moment the new arm has no
454+ such working usage — the default does not apply and the new arm earns its own
455+ decision. The test is mechanical: re-check the original rationale against the
456+ new arm * before* reusing the verdict. Sharing a key name is not sharing a
457+ reason.
458+ - ** Two implementations of one operation.** When one operation has two
459+ implementations and they disagree, the side that already carries the
460+ ** governance** — authorization gates, user consent, de-duplication, audit
461+ trail — is the ** default survivor** ; the other is rebound onto it and deleted.
462+ Not reconciled, not kept as a second writer. The ungoverned side wins only
463+ when ** product semantics explicitly demand** it, and that semantic goes into
464+ the decision text rather than being supplied afterwards as justification.
465+ Keeping both implementations keeps a path around the gates — exactly what
466+ ` declared = enforced ` exists to close.
442467- A developer agent's ` needs_decision ` that, on review, falls into the classes
443468 above: answer it yourself with the decision and rationale; do not relay it
444469 upward.
445470
446471When something * does* pass the bar:
447472
448- 1 . ** The decision lives ON the issue it belongs to — never a new issue.** Post
473+ 1 . ** Refresh the card's premises first — before writing it, and again before
474+ re-escalating it.** Every premise a decision card states (an in-flight change
475+ has not landed, a capability does not exist yet, a file still has this shape)
476+ is a ** reading with a shelf life** : an active main branch takes on the order
477+ of a dozen or more merges a day, and cross-repository facts move on an hourly
478+ scale. Re-check every premise immediately before posting the card — and again
479+ before pushing an older card back in front of the maintainer — then rewrite or
480+ withdraw whatever no longer holds. ** A card that sat overnight untouched is a
481+ card whose premises are unverified, not merely a card that is waiting.** An
482+ expired premise is worse than no card: the maintainer rules on a world that no
483+ longer exists, and nothing on the card shows that this happened.
484+ 2 . ** The decision lives ON the issue it belongs to — never a new issue.** Post
449485 the analysis as a comment there, add ` needs-user-decision ` , drop the issue
450486 from the active queue. The label is the maintainer's inbox (filter
451487 ` label:needs-user-decision ` ); when they answer, the label comes off and the
452488 issue re-enters the queue. File a ** separate** issue (titled
453489 ` [Decision] <one line saying what must be decided> ` , same label) ONLY when
454490 the decision has no natural anchor — it spans several issues, or arose with
455491 no issue of its own.
456- 2 . Write the analysis with: background, the precise question, the options, your
492+ 3 . Write the analysis with: background, the precise question, the options, your
457493 recommendation, and the related issues / PRs / branches — ** and analyze
458494 every option on the three fixed axes below.**
459- 3 . If the session is interactive, additionally ask the maintainer directly; the
495+ 4 . If the session is interactive, additionally ask the maintainer directly; the
460496 labeled issue remains the durable record either way. ** Never** answer a
461497 product or architecture question on the maintainer's behalf.
462498
0 commit comments