Repository navigation
fix(docs): add a promoted terminal status for owner-confirmed friction hypotheses - #87
Merged
Merged
Conversation
…ion hypotheses The friction log's Entry Rules already speak of a "promoted entry" and carry a `Promoted to` field, but the status vocabulary only had open/closed/rejected and a hypothesis may never be `closed`. A hypothesis the owner confirmed in the 2026-06-22 capture batch and promoted to owner evidence (F2/F3/F7, all closed with passing regression tests) therefore had no honest state: `rejected` would record the opposite of what happened, so the three sat at `open` with a note, were re-explained in every review, and would count as open friction in prepare_g1_evidence.py for any window covering 2026-06-22. Owner decision 2026-10-10 (in session, after reviewing the three entries and their closure mechanisms): add `promoted` as the terminal state of a confirmed hypothesis. validate_docs_consistency.py accepts it only on hypothesis entries and requires both a non-n/a `Promoted to` (the owner evidence entry it became) and non-n/a `Closure evidence`; evidence entries may not use it. prepare_g1_evidence.py counts `promoted` separately so only `open` drives the friction_observed verdict. The three entries move to `promoted`; the log's templates, Entry Rules, and intake status are updated; roadmap-status and the 2026-10-09 review's open item (3) record the resolution; backlog-priority's `friction-driven` gate wording names the new status. Action: G-P2-21 Roadmap-Status: unchanged Constraint: validator and docs only; no teaagent/ code; no status vocabulary removed; existing open/closed/rejected rules unchanged Tested: tests/test_docs_consistency.py (57 passed incl. 3 new), tests/test_prepare_g1_evidence.py (incl. 1 new), tests/test_harness_first_signal_policy.py, tests/test_friction_ux_fixes.py; ruff/mypy clean; check_test_assertion_regression.py clean; verify_docs.sh passes except the evidence bundle rebuilt in the next commit Confidence: high Agent: Claude Code Agent-Session: https://claude.ai/code/session_0132tPtPaCjZgUpU2Ezgmrta Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0132tPtPaCjZgUpU2Ezgmrta
…fter the promoted-status change Second commit of the two-commit protocol on the clean tree after 683fb04. `bash scripts/verify_docs.sh` passes end to end on this tree. Action: G-P2-21 Roadmap-Status: unchanged Constraint: generated artifacts only; produced by the repo scripts, not edited by hand Tested: bash scripts/verify_docs.sh — all checks pass ("Docs verification passed.") Confidence: high Agent: Claude Code Agent-Session: https://claude.ai/code/session_0132tPtPaCjZgUpU2Ezgmrta Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0132tPtPaCjZgUpU2Ezgmrta
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
Closes the last open item from the 2026-10-09 landing record (§7.4 item 3). The friction log's Entry Rules already speak of a "promoted entry" and carry a
Promoted tofield, but the status vocabulary only hadopen/closed/rejected, and a hypothesis may never beclosed. The three hypotheses the owner confirmed in the 2026-06-22 capture batch and promoted to owner evidence (F2/F3/F7, all closed, regression tests pass today) therefore had no honest state and sat atopenwith an explanatory note, re-explained in every review and counted as open friction byprepare_g1_evidence.pyfor any window covering 2026-06-22.Owner decision 2026-10-10 (in session): add
promotedas the terminal state of a confirmed hypothesis.scripts/validate_docs_consistency.py: acceptspromotedonly on hypothesis entries; requires a non-n/aPromoted to(the owner evidence entry it became) and non-n/aClosure evidence; evidence entries may not use it. Existing open/closed/rejected rules unchanged.scripts/prepare_g1_evidence.py: countspromotedseparately; onlyopendrivesfriction_observed.docs/work-log/operator-friction-log.md: the three entries move topromoted; templates, Entry Rules, and intake status updated (open hypotheses: 0).docs/roadmap-status.md, the 2026-10-09 review (item 3 resolved),docs/backlog-priority.mdgate wording; generated inventory, aging dashboard, OKF current bundle, release docs evidence bundle rebuilt via the two-commit protocol.Action ID
Risk Class
teaagent/code)Self-Review Checklist
General (all PRs)
ruff check+ruff format --checkpass on changed filesmypyclean on the two changed scripts (noteaagent/change)python3 scripts/run_test_tier.py --tier smokepasses — CIcheck_root_module_count.py≤ 184 (unchanged)check_complexity.py≤ 99 (unchanged)bash scripts/verify_docs.shpasses end to endTests
check_test_assertion_regression.py --base origin/maincleanDocumentation
Why / What / How / Done
Why. Three confirmed hypotheses had no honest status. What.
promotedterminal state with validator rules and G1 accounting. How. Two commits: schema + docs, then generated artifacts. Done. When CI is green: merge.🤖 Generated with Claude Code
https://claude.ai/code/session_0132tPtPaCjZgUpU2Ezgmrta
Generated by Claude Code