Skip to content

governance: reconcile decisions, ruleset state, and release readiness - #15

Merged
davehallmon merged 3 commits into
mainfrom
governance/reconcile-control-ledger-2026-08-29
Aug 30, 2026
Merged

governance: reconcile decisions, ruleset state, and release readiness#15
davehallmon merged 3 commits into
mainfrom
governance/reconcile-control-ledger-2026-08-29

Conversation

@davehallmon

@davehallmon davehallmon commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Summary

Commit 1 — Governance Reconciliation (f4f9fd5)

  • Records D4–D12 as accepted in project/control/decisions.json (continuity-state treatment, transaction-boundary expression, shared finding envelope, Dust & Ash profile mechanism, transaction/audit placement, author-memory scope, vertical-slice scope, export authority, two-host evidence timing).
  • Bumps roadmap version from 1.0.0 to 1.1.0 and adds milestone REL-01 — Public Release Readiness with three deliverables.
  • Adds tasks REL-01-01, REL-01-02, REL-01-03 to the task ledger (licensing, provenance, attribution).
  • Records ruleset 21815133 (Protect Main) as independently verified, and adds run GOV-REC-01.
  • Regenerates PROGRESS.md, STATUS.md, ROADMAP.md from canonical control data.

Commit 2 — Reconciliation Correction (865198c)

  • Adds docs/source-analysis/lensetek.md to REL-01-02 evidence.
  • Sets reconciliation result_commit and result_reference to f4f9fd5..., and repairs the history entry.
  • Adds blocker REL-B01 linked to REL-01-02 (Lensetek borrowing blocked; clean-room CP1A may proceed).
  • Strengthens validate(): history SHA checks, blocked-task ↔ blocker linkage, blocker task_id existence, ruleset field types, decision ID uniqueness.

Commit 3 — Test Hardening (this commit)

  • Rejects Boolean and negative requires_approvals values.
  • Adds 8 negative validator tests exercising isolated malformed data.
  • Final suite: 14 tests, all passing.

Verification

Current state

  • Generator: python3 scripts/generate_operational_views.py (clean)
  • Generator check: python3 scripts/generate_operational_views.py --check (clean)
  • Unit tests: python3 -m unittest discover -s tests -p "test_*.py" (14/14 OK)
  • git diff --check: clean
  • Source state commit d221fafd34d97be35a67b52cf77ef97bf08cbf4a matches remote main

Changed paths (this commit)

  • scripts/generate_operational_views.py
  • tests/test_operational_views.py

Cumulative changed paths across PR #15

  • project/control/decisions.json
  • project/control/roadmap.json
  • project/control/tasks.json
  • project/control/snapshot.json
  • scripts/generate_operational_views.py
  • tests/test_operational_views.py
  • PROGRESS.md
  • STATUS.md
  • ROADMAP.md

Scope

Governance reconciliation, correction, and test hardening only. No schemas, skills, templates, profile files, or implementation code changed. CP1A implementation has not begun.

Test names (14)

  1. test_control_data_validates
  2. test_commit_shorthand_validates
  3. test_every_blocked_task_has_blocker
  4. test_ruleset_fields_have_expected_types
  5. test_committed_views_are_current
  6. test_every_root_view_declares_it_is_generated
  7. test_null_commit_rejected_before_generated_view_accepted
  8. test_malformed_history_sha_rejected
  9. test_blocked_task_without_blocker_rejected
  10. test_blocker_without_existing_task_rejected
  11. test_duplicate_decision_ids_rejected
  12. test_ruleset_requires_approvals_boolean_rejected
  13. test_ruleset_requires_approvals_negative_rejected
  14. test_ruleset_non_boolean_field_rejected

@davehallmon
davehallmon merged commit 4ad606b into main Aug 30, 2026
1 check passed
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.

2 participants