Repository navigation
IDEA authority hardening — port missing PR #35 protections to current architecture #51
Copy link
Copy link
Closed
Description
Legacy IDEA authority hardening supersession audit
PR #35 (fix/v0.9.1-field-hardening, head bbb55e9ceaa819620f0e6ea52848499b94ed69bb) is a stale pre-v0.10 branch. It must not be merged directly, but its authority hardening exposed protections that are only partially represented in v0.11.1.
Audit against current v0.11.1
Present in current architecture
- Persistent Product Owner decisions with fingerprints.
runtime/orchestration/po-decisions.mjspersists decisions under.development-kit/decisionsand validates content fingerprints. - Persistent numbered decision menus and restart rehydration.
decision-menu.mjspersistsactive-menu.jsonplus history. - Fail-closed numeric menu resolution. No active menu, wrong stage, nonnumeric input, out-of-range input and already-resolved menus fail.
- Source-staleness guard for numbered decisions.
resolveDecisionInputrejects a supplied current fingerprint that no longer matches the menu'ssourceFingerprint. - Exactly-one-question interaction rule exists as an agent rule.
agents/product-discovery-agent.mdexplicitly requires one question per turn.
Partial / insufficient compared with PR #35
- Exactly-one-question rule is not runtime-enforced. Current enforcement is prompt/agent-level, whereas PR fix(reliability): v0.9.1 field hardening and IDEA authority persistence #35 implemented workflow state capable of enforcing interaction sequence deterministically.
- Provenance is not a strict requirement-candidate authority model. Current idea suggestions accept a generic provenance string; PR fix(reliability): v0.9.1 field hardening and IDEA authority persistence #35 used explicit USER_STATED / AI_PROPOSED / RESEARCH_DERIVED / ASSUMED classes and controlled transitions.
- Product Owner authority defaults need hardening review. Current helpers include convenience defaults such as
decisionAuthority = 'Product Owner'/ product-owner provenance. PR fix(reliability): v0.9.1 field hardening and IDEA authority persistence #35 deliberately removed implicit approving-authority defaults for authoritative transitions. - Current numbered-menu fingerprint protects menu source staleness, not the full presented interaction. PR fix(reliability): v0.9.1 field hardening and IDEA authority persistence #35 bound consumption to an
expectedInteractionFingerprintfor the exact pending interaction.
Missing from current v0.11.1 runtime
- Persist-before-asking / rehydrate-before-proposing IDEA workflow state machine. The current
runtime/orchestrationtree has noidea-workflow.mjs. - Requirement-candidate transition state machine. Current main has no
idea-discovery.mjsequivalent implementing candidate confirmation/adoption/rejection/supersession transitions. - Crash-safe discovery journal. Current main has no
discovery-journal.jsonworkflow implementation. - Append-only interaction-consumption receipts / replay protection. Current main has no
idea-consumptions.mjsequivalent. - Interaction fingerprint mismatch error path equivalent to
DK_INTERACTION_FINGERPRINT_MISMATCH. - Idea-brief approval bound to discovery revision/fingerprint. PR fix(reliability): v0.9.1 field hardening and IDEA authority persistence #35 invalidated approval when discovery state changed; no equivalent current IDEA state module was found.
- Runtime design-disposition binding from the IDEA workflow. Current Design Authority remains a separate subsystem, but the old branch's discovery-to-design disposition contract is not present as an IDEA runtime workflow.
Disposition
The audit is therefore not a simple supersession: several PR #35 protections remain valuable and are absent or weaker in current v0.11.1.
Required current-generation implementation
Port the missing behavior as a new bounded v0.11.1+ change, using current architecture rather than copying the old branch wholesale:
- Add a current-generation persisted IDEA discovery/workflow state model.
- Make requirement origin/provenance and authority transitions explicit and fail-closed.
- Persist the exact pending interaction before asking it.
- Require exact interaction fingerprint when consuming the reply.
- Add append-only replay protection.
- Add crash-safe resume/journal semantics.
- Bind final Idea Brief approval to current discovery/source fingerprints.
- Integrate Design Authority disposition without allowing caller-supplied mock state.
- Preserve the current Numbered Decision Interface rather than replacing it.
- Add adversarial regression tests before closing this issue.
Evidence retained
Historical implementation and regression suite remain available on PR #35/head bbb55e9ceaa819620f0e6ea52848499b94ed69bb. Use them as behavioral evidence, not as a merge candidate.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
[-]Audit legacy IDEA authority hardening from PR #35 against current v0.11.1[/-][+]IDEA authority hardening — port missing PR #35 protections to current architecture[/+]eybersjp commentedon Oct 1, 2026
IDEA authority hardening has been rebuilt on the current architecture and merged via PR #54.
Verification evidence:
cc9717e8d7ec711fbecc4733dd20fe6fa152c202main:40377ba875319c02781a434c8c5278c34fd2be16Delivered protections include explicit requirement provenance/authority transitions, one persisted interaction at a time, exact interaction fingerprints, stale-source rejection, hash-chained replay protection, crash-safe discovery journaling, Product Owner-bound design disposition, source-bound Idea Brief approval, direct-edit invalidation, explicit authority for suggestion promotion, fresh-process rehydration and corruption fail-closed tests.
Historical PR #35 remains archival evidence only and was not merged directly.