Commit Graph
21 Commits
Author SHA1 Message Date
Nick 2e68b6b054 phase-g slice 2: supersession ledger + registry remap + shared deletion
- plans/2026-10-03-phaseG-evidence-provenance-supersession.md: the
  slice-level ledger — port table (6/6, commits + parity + consumer
  proof), 12-step doctrine discharge, vintage-merge disclosures
  (symmetry guard, scan_text repair, port-1 sequence break), consumer
  map, live-data rules honored.
- shared/audit_ledger.py DELETED (superseded; zero importers verified
  by sweep; deployed shim + Rust core proven live before removal —
  language-governance rule ⑥).
- coverage registry: audit_ledger removed from SHARED_D.
- regression gate: exit 0 pre- and post-deletion.
2026-10-03 16:20:08 +01:00
Nick 6f44a87894 feat(phase-g): authority-switch shim — deployed query_memory.py is now a ctypes shim over the Rust cdylib
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / unit-tests (push) Failing after 22s
CI Pipeline / canary (push) Successful in 32s
deploy / deploy (push) Skipped
CI Pipeline / type-check (push) Successful in 29s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / lint (push) Failing after 40s
CI Pipeline / required-checks (push) Failing after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 1s
Step 8 of the 12-step strangler doctrine: the deployed in-process consumers
(memory_store.py, growth_simulator.py) now run the Rust classification core
in-process via qm_loader.py. Full historical Python class API preserved,
including the query-history snapshot attribute (loaded at construction,
appended on record — canary check 2 reads it).

Post-switch verification wall ALL GREEN: FFI smoke 41/41, parity harness
ALL GREEN (stdout + history.jsonl + topic_stats.json byte-parity), Python
canary 12/12, Rust canary 27/27, both consumers verified live against the
deployed shim.
2026-10-02 20:24:26 +01:00
Nick 08bc1a6b62 feat(native): add JSONL streaming reader for native units (W7 contract gap)
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 1s
CI Pipeline / lint (push) Failing after 24s
CI Pipeline / canary (push) Successful in 31s
CI Pipeline / type-check (push) Successful in 27s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / lint (pull_request) Failing after 21s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 2s
CI Pipeline / canary (pull_request) Successful in 26s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
deploy / deploy (push) Skipped
Spec gate (headless) / spec-gate (pull_request) Successful in 3s
CI Pipeline / type-check (pull_request) Successful in 27s
CI Pipeline / unit-tests (push) Failing after 4m49s
CI Pipeline / required-checks (push) Failing after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 2s
CI Pipeline / unit-tests (pull_request) Successful in 4m48s
CI Pipeline / required-checks (pull_request) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 2s
stream_native(): per-line json.loads over subprocess stdout, progress
events yielded live, terminal envelope validated as the FINAL line,
watchdog timeout with adapter-kill vs unit-death distinction, concurrent
stderr drain. Generator yields event dicts then one terminal NativeResult
(gaining an events field). Malformed interior lines skipped and counted;
a malformed final line invalidates the envelope, so ok=False while partial
progress stays available. Tests use a Python subprocess as the fake
native unit — no Rust build dependency in the test path (house style
from tests/test_native_interop_proof.py).
2026-09-29 23:08:32 +01:00
Nick cb137bd37a Merge remote-tracking branch 'gitea/master' into tranche-r1-wave-0
CI Pipeline / best-practices (pull_request) Successful in 3s
CI Pipeline / documentation (pull_request) Successful in 1s
CI Pipeline / unit-tests (pull_request) Failing after 22s
CI Pipeline / lint (pull_request) Failing after 24s
Spec gate (headless) / spec-gate (pull_request) Successful in 3s
CI Pipeline / canary (pull_request) Successful in 28s
CI Pipeline / type-check (pull_request) Successful in 26s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Failing after 20s
CI Pipeline / canary (push) Successful in 27s
deploy / deploy (push) Skipped
CI Pipeline / required-checks (pull_request) Failing after 0s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / type-check (push) Successful in 27s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 2s
CI Pipeline / unit-tests (push) Failing after 4m43s
CI Pipeline / required-checks (push) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 2s
# Conflicts:
#	.gitignore
#	config/umbrellas.json
2026-09-29 13:26:54 +01:00
Nick 72afb1a55a feat(rebase): wave 0 — whole-project inventory, per-function issue factory, Rust interop proof unit
CI Pipeline / best-practices (push) Successful in 4s
CI Pipeline / documentation (push) Successful in 1s
CI Pipeline / lint (push) Failing after 24s
CI Pipeline / type-check (push) Successful in 23s
CI Pipeline / canary (push) Successful in 32s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / unit-tests (push) Failing after 44s
CI Pipeline / required-checks (push) Successful in 1s
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / best-practices (pull_request) Successful in 3s
CI Pipeline / documentation (pull_request) Successful in 1s
CI Pipeline / lint (pull_request) Failing after 23s
CI Pipeline / canary (pull_request) Successful in 30s
CI Pipeline / type-check (pull_request) Successful in 24s
Spec gate (headless) / spec-gate (pull_request) Successful in 4s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
CI Pipeline / unit-tests (pull_request) Failing after 44s
CI Pipeline / required-checks (pull_request) Successful in 0s
Wave 0 of the approved language-rebasing tranche (R1):

- scripts/rebase_inventory.py: AST-based whole-project inventory →
  docs/rebase-inventory.json (1,852 true units = 1,030 top-level fns
  + 822 methods; module-level walk skips defs; class-method leak fixed)
- docs/rebase-wave-coverage.json: waves 2–7 coverage {239,251,129,544,415,274}
- scripts/rebase_issue_factory.py: one-issue-per-unit Gitea factory,
  dry-run default, deterministic titles + dedup, --limit defaults to
  unlimited for create; 1,852 issues created across waves 2–7
- interop/rebase-proof + shared/native_units.py + tests: std-only Rust
  proof unit for the §5 native-interop contract (argv→JSON, --version,
  exit 2 on failure); thin typed Python adapter; 8/8 tests pass with
  corrected ok-semantics (ok = exit 0 AND not timed out)
- config/umbrellas.json: native_units registered in capability umbrella
  (manifest law — the map travels with the change)
- docs/rebase-wave0-report.md: Wave 0 close-out report
2026-09-29 12:47:34 +01:00
conductor 643f9aa9d1 custodian: default Gitea endpoint = PC-internal (127.0.0.1:3000)
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / canary (push) Successful in 27s
CI Pipeline / type-check (push) Successful in 26s
deploy / deploy (push) Skipped
CI Pipeline / lint (push) Successful in 34s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / lint (pull_request) Successful in 31s
CI Pipeline / best-practices (pull_request) Successful in 1s
CI Pipeline / documentation (pull_request) Successful in 1s
CI Pipeline / canary (pull_request) Successful in 27s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
Spec gate (headless) / spec-gate (pull_request) Successful in 3s
CI Pipeline / type-check (pull_request) Successful in 25s
CI Pipeline / unit-tests (push) Successful in 4m24s
CI Pipeline / required-checks (push) Successful in 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 2s
CI Pipeline / unit-tests (pull_request) Successful in 4m29s
CI Pipeline / required-checks (pull_request) Successful in 0s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 2s
Auto-version and Release / release (pull_request) Successful in 7s
Topology reconciliation 2026-09-19: Gitea migrated Pi->PC. PC automation
uses the internal endpoint (no public DNS / Pi proxy round trip). External
endpoint unchanged for humans: https://gitea.thingscouldgetdicey.online
(Pi Caddy -> PC:3000). GITEA_URL env still overrides.
2026-09-19 17:40:59 +01:00
conductor cba9045982 auto-label: any declared kind is authoritative; absorption is the filing standard
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / lint (push) Successful in 40s
CI Pipeline / canary (push) Successful in 35s
Auto-label / auto-label (pull_request) Successful in 8s
CI Pipeline / type-check (push) Successful in 29s
Auto-label / priority-gate (pull_request) Skipped
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / canary (pull_request) Successful in 34s
CI Pipeline / lint (pull_request) Successful in 44s
CI Pipeline / documentation (pull_request) Successful in 10s
Spec gate (headless) / spec-gate (pull_request) Successful in 12s
CI Pipeline / gitea-offline (pull_request) Successful in 17s
deploy / deploy (push) Skipped
CI Pipeline / best-practices (pull_request) Successful in 5s
CI Pipeline / type-check (pull_request) Successful in 29s
CI Pipeline / unit-tests (push) Successful in 4m33s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 4s
CI Pipeline / unit-tests (pull_request) Successful in 4m50s
CI Pipeline / required-checks (pull_request) Successful in 9s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 3s
Auto-version and Release / release (pull_request) Successful in 34s
Two defects in one pass:

1. The spine-parsing fix from d96b89b only matched kind: bug|feature|research.
   Epic spines (kind: epic) fell through to the keyword heuristic, which
   re-added 'bug' to epics whose bodies mention fixes (observed live on
   #181/#284 — label respawned within 30s of removal). Now ANY declared kind
   is authoritative: recognized kinds map to labels, any other declared kind
   (epic, ...) gets NO type label and NO guessing. Keywords only apply to
   pre-template issues with no spine.

2. Standard: one open note per idea. Parked ideas live as absorbed checklist
   items in their parent epic; standalone issues only for live work. Applied
   today: #175 absorbed #176-#179; #181 absorbed #182/#183 + watchlist
   #164-#166. Reconciliation artifact updated for all nine closures.

Custodian create_issue and AGENTS.md now carry the standard so future
filing follows it.
2026-09-19 16:42:55 +01:00
conductor ea3c20e205 templates: heading IS the summary — drop the meta-label
CI Pipeline / best-practices (push) Successful in 11s
CI Pipeline / gitea-offline (push) Successful in 16s
CI Pipeline / canary (push) Successful in 37s
CI Pipeline / type-check (push) Successful in 29s
CI Pipeline / lint (pull_request) Successful in 37s
CI Pipeline / canary (pull_request) Successful in 38s
CI Pipeline / best-practices (pull_request) Successful in 6s
CI Pipeline / documentation (pull_request) Successful in 6s
CI Pipeline / gitea-offline (pull_request) Successful in 25s
CI Pipeline / documentation (push) Successful in 5s
deploy / deploy (push) Skipped
CI Pipeline / type-check (pull_request) Successful in 32s
CI Pipeline / lint (push) Successful in 39s
Spec gate (headless) / spec-gate (pull_request) Successful in 26s
CI Pipeline / unit-tests (push) Successful in 4m33s
CI Pipeline / required-checks (push) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 7s
CI Pipeline / unit-tests (pull_request) Successful in 4m43s
CI Pipeline / required-checks (pull_request) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 5s
Auto-version and Release / release (pull_request) Successful in 40s
The heading should not announce itself as 'plain English'; it should simply
be the summary in everyday words. Meta-commentary removed from the heading
line, instructions preserved in the comment block.
2026-09-19 16:01:05 +01:00
conductor a93327d107 templates: plain-English heading carries the issue summary
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / lint (push) Successful in 40s
CI Pipeline / canary (push) Successful in 34s
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 4s
CI Pipeline / type-check (push) Successful in 31s
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / lint (pull_request) Successful in 38s
CI Pipeline / canary (pull_request) Successful in 32s
CI Pipeline / best-practices (pull_request) Successful in 8s
CI Pipeline / documentation (pull_request) Successful in 4s
CI Pipeline / type-check (pull_request) Successful in 29s
CI Pipeline / unit-tests (push) Successful in 4m37s
CI Pipeline / gitea-offline (pull_request) Successful in 30s
Spec gate (headless) / spec-gate (pull_request) Successful in 18s
CI Pipeline / unit-tests (pull_request) Successful in 4m33s
CI Pipeline / required-checks (push) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 7s
CI Pipeline / required-checks (pull_request) Successful in 3s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Failing after 21s
deploy / deploy (push) Failing after 13m5s
The section header itself must restate the issue title in everyday words,
so a scan of headings alone tells the story of the board. Applied to all
three templates (web-UI + canonical copies) and retrofitted onto all 30
live issues.
2026-09-19 15:41:15 +01:00
conductor d96b89bd4c issue templates: spine + plain-English + version intent; auto-label reads declared kind
CI Pipeline / best-practices (push) Successful in 6s
CI Pipeline / documentation (push) Successful in 4s
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 3s
CI Pipeline / canary (push) Successful in 35s
CI Pipeline / lint (push) Successful in 42s
CI Pipeline / type-check (push) Successful in 29s
deploy / deploy (push) Skipped
CI Pipeline / gitea-offline (push) Successful in 15s
CI Pipeline / best-practices (pull_request) Successful in 4s
CI Pipeline / documentation (pull_request) Successful in 4s
CI Pipeline / canary (pull_request) Successful in 29s
CI Pipeline / gitea-offline (pull_request) Successful in 20s
CI Pipeline / type-check (pull_request) Successful in 43s
Spec gate (headless) / spec-gate (pull_request) Successful in 16s
CI Pipeline / lint (pull_request) Successful in 45s
CI Pipeline / unit-tests (push) Failing after 4m31s
CI Pipeline / required-checks (push) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 3s
CI Pipeline / unit-tests (pull_request) Failing after 4m27s
CI Pipeline / required-checks (pull_request) Failing after 2s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 4s
Issues were mash-of-text: unreadable for Nick, unparsable for the pipeline,
and the auto-label workflow guessed 'bug' from keywords — misclassifying
honest prose and fighting the T15 label audit. Changes:

- feature/bug templates: add verifiable close conditions, version-impact
  block (declared at submission, verified at merge), why-still-open field;
  plain English stays first and is the contract
- research template: question, falsifier, budget, durable findings path;
  new 'research' label kind
- custodian create_issue(kind, version_intent): assembles from the
  canonical template, forces the kind label, pre-ticks version intent
- auto-label.yml: type label comes from the declared spine kind; keyword
  guessing only as pre-template fallback
- reconciliation checker: align live-sync bug-label rule with the
  documented open-only exemption
- reconciliation artifact: #158/#162 SUPERSEDED (by #315/#316),
  #324 FIXED_VERIFIED (no longer reproduces), #163 revalidated
2026-09-19 15:08:23 +01:00
Nick 3afc9ff872 fix(shared): remove remaining dead code blocks with F821 (CI-caught) 2026-09-16 21:58:06 +01:00
Nick 8249854881 fix(shared): remove dead code with F821 undefined names + re-pin platformdirs (CI-caught)
CI Pipeline / best-practices (push) Successful in 12s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / lint (push) Failing after 38s
CI Pipeline / canary (push) Successful in 40s
CI Pipeline / type-check (push) Successful in 30s
Auto-version and Release / release (push) Failing after 1m6s
CI Pipeline / unit-tests (push) Failing after 2m50s
CI Pipeline / gitea-offline (push) Successful in 20s
CI Pipeline / required-checks (push) Failing after 2s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 5s
deploy / deploy (push) Failing after 15m11s
2026-09-16 21:12:15 +01:00
Nick a134d99af6 chore(gitea): reconcile hardening with v0.44.0
CI Pipeline / lint (push) Successful in 27s
CI Pipeline / unit-tests (push) Successful in 39s
CI Pipeline / canary (push) Successful in 5s
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 6s
CI Pipeline / gitea-offline (push) Successful in 40s
CI Pipeline / required-checks (push) Skipped
Auto-label / auto-label (pull_request) Failing after 1s
CI Pipeline / required-checks (pull_request) Successful in 1s
CI Pipeline / lint (pull_request) Successful in 23s
CI Pipeline / unit-tests (pull_request) Successful in 39s
CI Pipeline / canary (pull_request) Successful in 5s
CI Pipeline / best-practices (pull_request) Successful in 5s
CI Pipeline / documentation (pull_request) Successful in 5s
CI Pipeline / gitea-offline (pull_request) Successful in 40s
Auto-version and Release / release (pull_request) Successful in 6s
Preserve the v1 authority and local-tool test job alongside the offline Gitea verification job.

Keep the protected gate pull-request-only, require both verification paths, pin every checkout action, and advance Rune to v0.45.0.
2026-08-31 12:21:57 +01:00
Nick aebe6daba1 style(gitea): format hardening Python files
CI Pipeline / lint (push) Successful in 22s
CI Pipeline / canary (push) Successful in 5s
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / gitea-offline (push) Successful in 38s
CI Pipeline / required-checks (push) Skipped
CI Pipeline / lint (pull_request) Failing after 31s
CI Pipeline / canary (pull_request) Successful in 11s
CI Pipeline / best-practices (pull_request) Successful in 9s
CI Pipeline / documentation (pull_request) Successful in 11s
CI Pipeline / gitea-offline (pull_request) Successful in 36s
CI Pipeline / required-checks (pull_request) Skipped
Apply the exact Ruff 0.16.4 formatter enforced by the Gitea lint job so newly added Python files pass CI.
2026-08-30 17:18:08 +01:00
Nick a9496d1b06 feat(gitea): make governance and recovery reproducible
CI Pipeline / lint (push) Failing after 55s
CI Pipeline / canary (push) Successful in 6s
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / gitea-offline (push) Successful in 39s
CI Pipeline / required-checks (push) Skipped
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / lint (pull_request) Failing after 22s
CI Pipeline / canary (pull_request) Successful in 5s
CI Pipeline / best-practices (pull_request) Successful in 5s
CI Pipeline / documentation (pull_request) Successful in 5s
CI Pipeline / gitea-offline (pull_request) Successful in 39s
CI Pipeline / required-checks (pull_request) Skipped
Track branch policy, labels, milestones, and wiki content as declarative state with a read-only-by-default provisioner.

Harden off-disk backup publication and add a rootless, networkless restore drill that validates SQLite, application data, and database-declared bare repositories.

Run offline contracts in CI, pin audited dependencies, document operations, and bump Rune to 0.43.0.
2026-08-30 17:10:32 +01:00
Nick f12d60c217 feat(tui): add governed local tool objects
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / lint (pull_request) Successful in 21s
CI Pipeline / unit-tests (pull_request) Successful in 51s
CI Pipeline / canary (pull_request) Successful in 4s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 3s
CI Pipeline / required-checks (pull_request) Successful in 0s
Auto-version and Release / release (pull_request) Successful in 5s
2026-08-28 11:26:04 +01:00
Nick 6378c22fb5 feat(gitea): complete governance and recovery tiers
Auto-label / auto-label (pull_request) Successful in 3s
CI Pipeline / lint (pull_request) Successful in 21s
CI Pipeline / canary (pull_request) Successful in 3s
CI Pipeline / best-practices (pull_request) Successful in 3s
CI Pipeline / documentation (pull_request) Successful in 3s
CI Pipeline / required-checks (pull_request) Successful in 1s
2026-08-24 14:37:58 +01:00
Nick 608d565996 feat: build orchestrator + Custodian docs + three-way communication
- build_orchestrator.py: dynamic three-way build orchestration (MiMoCode, TUI, Gitea)
- Retry/critique: 2 attempts per phase, then escalate to Nick
- Report-back: teachable moment reports for Rune's growth
- Custodian: documentation generation (wiki, function docs, annotations)
- Auto-versioning: semver bump on PR merge with release notes
- Maintenance pipeline: weekly lint, canary, best practices, docs check
2026-08-24 12:38:56 +01:00
Nick 33a2bd5d82 feat: Custodian docs, auto-versioning, maintenance pipeline
- Custodian: documentation generation (wiki, function docs, annotations)
- Auto-version: semver bump on PR merge with release notes
- Maintenance: weekly lint, canary, best practices, docs check
- Custodian task execution: worktree + local model + PR creation
2026-08-24 12:30:19 +01:00
Nick 6c6b028c64 feat: Custodian task execution — worktree + local model + PR creation 2026-08-24 12:23:05 +01:00
Nick 939883d4d2 feat: add shared library (drift, governance, cognitive, autonomy) 2026-08-24 10:47:34 +01:00