feat(followups): premise/verify reframe — dated hypotheses (fw-4.36.0 / cli-3.37.0) - #369
Merged
Merged
Conversation
… / cli-3.37.0) Implements the signed AIDEC-2026-07-18-001 (#365 Part 1, Weft field report): reframe follow-up registry entries as dated, decaying hypotheses and place premise verification at execution, not capture. The backlog is a speculative buffer — cheap capture is its value — so the only real bug is executing an entry without re-testing its premise. Three layers, at the operator's chosen depth (doc + schema + CLI affordance): - **CLI**: new `followups verify FU-NNN` verb (surface the premise, `--premise` to record it, `--verified [--at]` to stamp `Verified-at`); `followups promote` now surfaces the premise with a re-verify reminder and stamps `Verified-at` with `--premise-verified`; `followups status` shows the fields and nudges when an actionable entry's premise is unverified. Both affordances remind and record — they never gate. `Entry` gains optional `premise`/`verified_at` (lenient parse); reuses charter::new's markup/sentence helpers. - **Schema + template**: optional `premise`/`verified_at` in `$defs.entry`; backward-compatible, `schema_version` stays v1. - **Docs (EN + es + zh-CN)**: new "Epistemic status" section in the pattern doc, reconciled "planning input" framing, AGENT-RULES §13 execution directive, CLI-REFERENCE command docs. Verified: full suite green (38 groups) + new unit/integration tests; clippy clean on new files; end-to-end with the release binary (status nudge → verify read-only → verify record+stamp → nudge clears → promote --premise-verified); schema JSON valid; `straymark validate` 0 errors on the new AILOG/AIDEC. Governed AILOG: .straymark/07-ai-audit/agent-logs/AILOG-2026-07-18-001. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the signed
AIDEC-2026-07-18-001— the framing half of #365 (Weft field report). Reframes follow-up registry entries as dated, decaying hypotheses and places premise verification at execution, not capture. The backlog is a speculative buffer whose value is cheap capture, so the only real bug is executing an entry without re-testing its premise (three Weft follow-ups each rested on a premise false at write time).Ships as fw-4.36.0 / cli-3.37.0 — the extractor-fidelity half shipped earlier in #366 (cli-3.36.2).
The three layers (operator-chosen depth: doc + schema + CLI)
CLI
straymark followups verify FU-NNN(new) — re-verify a premise at execution: surface it,--premise "..."records/updates it,--verified [--at DATE]stampsVerified-at. Read-only with no flags.straymark followups promote --premise-verified— promotion surfaces the premise with a re-verify reminder and stampsVerified-atwith the flag. Advisory — promotion proceeds either way.straymark followups status FU-NNNshowsPremise/Verified-atand nudges when an actionable entry's premise is unverified.Entrygains optionalpremise/verified_at(lenient parse:Verified-at/Verified at/verified_at). Reusescharter::new's markup/sentence helpers (nowpub(crate)).Both affordances remind and record — they never gate. Human judgment stays out of the CLI, consistent with
promote.Schema + template
Optional
premise/verified_atin$defs.entry. Backward-compatible;schema_versionstaysv1(experimental); no data migration.Docs (EN + es + zh-CN)
New "Epistemic status: entries are dated hypotheses" section in the pattern doc, reconciled the "planning input" framing, added the AGENT-RULES §13 "before acting on an entry (execution)" directive, and documented the fields + verbs in CLI-REFERENCE.
Verification
cargo testgreen (38 result groups); new unit test (parse +set_entry_fieldround-trip) + 6 integration tests (promote surfacing ± flag, verify record/read-only/unknown, status nudge). Clippy clean on new files.statusnudge when unverified →verifyread-only surfacing →verify --premise --verifiedrecords the corrected premise + stampsVerified-at→ nudge clears →promote --premise-verifiedsurfaces the confirmed premise, promotes, stamps. Schema JSON valid;straymark validate→ 0 errors on the new AILOG/AIDEC (only the known Migrate historical decision records (ADR/AIDEC) from docs/decisions/ into the governed .straymark/ tree #368 REF-001 warning).Governance
First substantive governed change of the self-adopted repo → AILOG in the in-force tree:
.straymark/07-ai-audit/agent-logs/AILOG-2026-07-18-001.Closes the implementation of #365 Part 1.
🤖 Generated with Claude Code