Skip to content

fix(reliability): v0.9.1 field hardening and IDEA authority persistence - #35

Draft
eybersjp wants to merge 22 commits into
mainfrom
fix/v0.9.1-field-hardening
Draft

fix(reliability): v0.9.1 field hardening and IDEA authority persistence#35
eybersjp wants to merge 22 commits into
mainfrom
fix/v0.9.1-field-hardening

Conversation

@eybersjp

@eybersjp eybersjp commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Development status

Target: Development Kit v0.9.1
Branch: fix/v0.9.1-field-hardening
Published stable release: v0.9.0
PR status: Draft — engineering gates are green; live field acceptance is still required before merge/release.

Purpose

Harden the v0.9 Reliability Control Plane against authority bypasses, stale/resumed interaction errors, partial state writes, path/root ambiguity, and Product Owner provenance defects discovered through repeated independent review and field-oriented adversarial testing.

This patch deliberately keeps package.json at 0.9.0 until the final release cut. The branch contains the candidate v0.9.1 implementation and release documentation, but v0.9.1 is not yet published.

Current implementation

IDEA workflow authority and persistence

  • Persist-before-asking / rehydrate-before-proposing lifecycle contract.
  • Exactly one Product Owner discovery question per turn.
  • Explicit provenance classes for USER_STATED, AI_PROPOSED, RESEARCH_DERIVED, and ASSUMED candidates.
  • Immutable Product Owner decision boundaries: agents cannot synthesize confirmation or approve their own proposals.
  • Deterministic requirement transition and supersession rules.
  • No implicit MUST classification or approving-authority defaults.
  • UNCLASSIFIED remains explicit until Product Owner scope confirmation.

Interaction integrity

  • Deterministic SHA-256 fingerprints for Product Owner interactions.
  • Authority mutations require the active expectedInteractionFingerprint.
  • Stale or mismatched interactions fail closed.
  • Append-only, hash-chained interaction-consumption receipts prevent replay.

Crash-safe discovery state

  • Atomic two-phase discovery journaling through discovery-journal.json.
  • Candidate/question/decision state survives interruption and resume.
  • USER_STATED candidates are protected from AI-origin rewriting or accidental authority promotion.

Design Authority truthfulness

  • Design-system disposition is persisted into authoritative project state.
  • Runtime inspection rejects caller-provided mock/unconfirmed design state.
  • Discovery and design-system setup remain separate Product Owner gates.

Universal lifecycle entry and project-root authority

  • Central lifecycle entry gate is wired across all /dk-* workflows.
  • Deterministic project-root resolution replaces process.cwd() guessing.
  • Nested .agents/ execution, symlinks, spaces, and cross-platform path handling are covered.
  • Runtime/plugin packaging contains the lifecycle, orchestration, schema, intelligence, and control-center assets needed by installed consumers.

Verification state

The current PR head has passed GitHub Actions CI.

Completed release-gate evidence on the branch includes:

  • 87 v0.9.1 field-hardening unit/regression tests.
  • Full evaluation suite: 384 checks across 35 evaluation scenarios.
  • npm run release:validate PASS.
  • Plugin mirror synchronization / npm run doctor PASS.
  • Package-consumer integration validation PASS.
  • Documentation validation PASS.
  • v0.9.1 release notes, marketing copy, and stable-release checklist prepared.

See docs/08-maintenance-release/v091-release-checklist.md for the authoritative release gate.

Remaining before merge/release

The engineering and documentation gates are complete. The following live field acceptance remains mandatory:

  1. Run a real end-to-end /dk-idea workflow in a clean scratch project with a human Product Owner.
  2. Confirm interaction fingerprints are created and persisted correctly.
  3. Confirm same-turn/self-confirmation attempts fail closed with DK_INTERACTION_FINGERPRINT_MISMATCH.
  4. Restart/resume and verify candidates, questions, pending interaction, and Product Owner decisions are rehydrated without duplication or reset.
  5. Confirm final idea-approve locks the approved brief and correctly unlocks /dk-spec.
  6. Only after those checks pass: bump package/plugin version to 0.9.1, finalize the changelog release date, rerun release validation, merge, tag, publish, and verify npm/GitHub Release publication.

Merge policy

DO NOT MERGE / DO NOT RELEASE while the live field acceptance items remain open.

The stable public line remains v0.9.0 until the final v0.9.1 acceptance and release gates are completed.

…tability, exact statement equality, pure read-only resolution, and fail-closed recommendations
…IFIED scope, close public registration escape, complete transition matrix
…d decision authority, and complete transition matrix
…n authority records, and close supersession bypasses
…ity defaults, and enforce immutable resolution PODs
…on resolutions, fix supersession CLI imports, and prevent confirm replay
…esolved design authority

Move APPROVED stage check before checkpoint resume guard so approveCurrentIdeaBrief()
always returns COMPLETE regardless of stale PENDING checkpoint.
Add DESIGN_SYSTEM_SETUP staleness guard: if canonical design-system-state.json is no
longer unconfigured, fall through to determineNextInteractionFromDiscovery.
Extend INTERACTION_STATUSES with IN_PROGRESS and NOT_STARTED so validateWorkflowStructure
accepts checkpoint statuses written by presentCurrentInteraction for non-interaction phases.

All 82 v091-field-hardening tests pass. All 118 cross-suite tests pass.
npm test and release:validate clean.
…c group consumption, crash recovery, and design-state truthfulness
- Close public authority API exports in runtime/orchestration/index.mjs
- Complete PREPARED journal recovery binding exact target state and staged post-state
- Add failpoint 4: after discovery persistence before journal finalization
- Implement 4-tuple duplicate receipt detection with DK_INTERACTION_ALREADY_CONSUMED
- Implement same-discovery receipt recovery before pending-interaction resume
- Add Product Owner design applicability decision and protocol
- Add advisory scope proposal step and interaction revision for scope adjustments
- Deprecate single-candidate CLI operations in favor of idea-confirm-requirements
- Full test validation: 87/87 field hardening tests, package consumer tests, and npm test passing cleanly
@eybersjp eybersjp changed the title fix(reliability): v0.9.1 field hardening candidate 8 fix(reliability): v0.9.1 field hardening and IDEA authority persistence Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant