Skip to content

IDEA authority hardening — port missing PR #35 protections to current architecture #51

Description

@eybersjp

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.mjs persists decisions under .development-kit/decisions and validates content fingerprints.
  • Persistent numbered decision menus and restart rehydration. decision-menu.mjs persists active-menu.json plus 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. resolveDecisionInput rejects a supplied current fingerprint that no longer matches the menu's sourceFingerprint.
  • Exactly-one-question interaction rule exists as an agent rule. agents/product-discovery-agent.md explicitly requires one question per turn.

Partial / insufficient compared with PR #35

Missing from current v0.11.1 runtime

  • Persist-before-asking / rehydrate-before-proposing IDEA workflow state machine. The current runtime/orchestration tree has no idea-workflow.mjs.
  • Requirement-candidate transition state machine. Current main has no idea-discovery.mjs equivalent implementing candidate confirmation/adoption/rejection/supersession transitions.
  • Crash-safe discovery journal. Current main has no discovery-journal.json workflow implementation.
  • Append-only interaction-consumption receipts / replay protection. Current main has no idea-consumptions.mjs equivalent.
  • 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:

  1. Add a current-generation persisted IDEA discovery/workflow state model.
  2. Make requirement origin/provenance and authority transitions explicit and fail-closed.
  3. Persist the exact pending interaction before asking it.
  4. Require exact interaction fingerprint when consuming the reply.
  5. Add append-only replay protection.
  6. Add crash-safe resume/journal semantics.
  7. Bind final Idea Brief approval to current discovery/source fingerprints.
  8. Integrate Design Authority disposition without allowing caller-supplied mock state.
  9. Preserve the current Numbered Decision Interface rather than replacing it.
  10. 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.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions