Commit Graph
191 Commits
Author SHA1 Message Date
marcopan d5e78febd3 refactor(evidence): migrate runtime consumption (#29) 2026-08-24 02:10:06 +02:00
marcopan 8b63715b56 refactor(evidence): add cohesive Python facade (#28) 2026-08-24 02:02:57 +02:00
marcopan 2ed55ef131 refactor(disambiguation): extract F3 rewrite path (#26) 2026-08-24 01:44:40 +02:00
marcopan eccf6212f1 refactor(pi): generate modular session instructions (#25) 2026-08-24 01:36:08 +02:00
marcopan 4a654de84a refactor(memory): own solved-question lifecycle (#24) 2026-08-24 01:23:39 +02:00
marcopan 93fe0d733b refactor(memory): extract F2 recall path (#23) 2026-08-24 01:08:15 +02:00
marcopan d15bb59c3d test(workflow): complete observable baseline (#21) 2026-08-24 00:40:11 +02:00
marcopan 8a3fa5031d test(auth): gate local and OIDC authentication release 2026-08-18 06:02:25 +02:00
marcopan 7651b63cea refactor(cli): remove obsolete workflow commands 2026-08-16 02:29:00 +02:00
marcopan f9d23d2361 fix: freeze evidence metadata lists as lists (preserve JSON shape) 2026-08-13 19:30:40 +02:00
marcopan 5249798c03 feat: revision-qualified annotations root for pinned runtimes (P5) 2026-08-13 05:02:19 +02:00
marcopan e23e526966 feat: P3 effective configuration, memory root, and revision-scoped records 2026-08-12 16:01:25 +02:00
marcopan ca391ba59c feat: pristine harness JSON interfaces and require-existing semantic mode (P2) 2026-08-11 18:40:11 +02:00
marcopan 3b9681a63a fix: harden evidence secret file handoff 2026-08-09 19:27:52 +02:00
marcopan e50aad7e41 fix: require signed evidence provenance 2026-08-09 19:17:54 +02:00
marcopan df8dc1e219 fix: close evidence credential disclosure gaps 2026-08-09 19:15:00 +02:00
marcopan 7126b567b0 feat: bind evidence credentials through local files 2026-08-09 19:03:36 +02:00
marcopan fa151c5ea5 fix: close semantic isolation review gaps 2026-08-08 23:53:37 +02:00
marcopan 2c4534d968 fix: close internal semantic review gaps 2026-08-08 23:27:58 +02:00
marcopan 43d8063922 fix: scope workspace registry smoke cleanup 2026-08-08 22:32:57 +02:00
marcopan 4e810af516 test: align qdrant ollama verification fixtures 2026-08-08 22:15:02 +02:00
marcopan ffe0afb6a7 test: restore taskdoc truncation regression 2026-08-08 21:50:25 +02:00
marcopan 569bb7f1db fix: remove dead vector migrate command 2026-08-08 21:45:16 +02:00
marcopan 8826f8ac6b refactor: remove pgvector runtime 2026-08-08 21:38:03 +02:00
marcopan 8f4ec1e1a3 fix: tighten internal semantic compose contracts 2026-08-08 18:47:22 +02:00
marcopan ca1511df60 test: cover qdrant delete-kinds scoping 2026-08-08 18:25:28 +02:00
marcopan 820b237239 fix: remove http delete-kinds regression 2026-08-08 18:21:20 +02:00
marcopan 32cd2165eb fix: support qdrant-only vector maintenance 2026-08-08 18:14:03 +02:00
marcopan 5e39cfa347 feat: index semantic records in qdrant 2026-08-08 18:03:57 +02:00
marcopan f61648fb69 fix: harden qdrant payload and paging 2026-08-08 17:48:56 +02:00
marcopan 7109ee15c4 feat: add qdrant vector adapter 2026-08-08 17:43:15 +02:00
marcopan c875fa52ce fix: enforce internal embeddings contract 2026-08-08 17:33:19 +02:00
marcopan 2911e008d1 feat: use internal ollama embeddings 2026-08-08 17:29:36 +02:00
marcopan b93f13e39e fix: stabilize runtime workspace identity 2026-08-05 16:39:23 +02:00
marcopan bd798b1c96 fix: render registry workspaces for harness 2026-08-05 16:03:45 +02:00
marcopan 5d037e97c4 refactor: remove portal deployment coupling 2026-08-05 06:58:19 +02:00
marcopan 8b046f9fb2 test: verify portable workspace registry end to end 2026-08-04 08:42:33 +02:00
marcopan 90894176b6 feat: pin sessions to workspace revisions 2026-08-04 04:52:06 +02:00
marcopan 18233d59af fix: refine session report and live activity layout 2026-07-24 00:21:36 +02:00
marcopan 2e1bb621a0 fix: exclude schema tables from session memories 2026-07-23 15:54:27 +02:00
marcopan 0db85e4e4e feat: redesign persisted session summaries 2026-07-23 15:35:31 +02:00
marcopan 694b7dd21f fix: harden reviewer workflow and memory handling 2026-07-23 12:34:23 +02:00
marcopan 8aa1676811 Expose PSD frontend locally 2026-07-20 20:27:37 +02:00
marcopan ad6057f0dd Fix PSD frontend network wiring 2026-07-20 20:26:13 +02:00
marcopan 0cf09777f2 Fix session resume and PSD container configuration 2026-07-20 20:22:47 +02:00
marcopanandClaude Fable 5 c4951e2aa5 chore: hygiene pass — ruff clean, docs storage-model truth, replay /me, failSession log
Audit findings 6.1-6.4 + the audit's remediation plan itself
(docs/superpowers/plans/2026-07-20-full-audit-remediation-plan.md).

- ruff: 34 → 0 (unused imports/f-strings auto-fixed; E702 semicolon lines
  split in test files; one unused local dropped). Suite still 819 green.
- CLAUDE.md + PROJECT_STATE.md no longer claim "no database / settings in
  settings.json": the harness selects filesystem OR PostgreSQL session
  storage (repository.py, server mode), and settings flow through harness
  preferences with the JSON file as fallback only.
- tools/replay: stub /me (SPA boot was parsing the SPA's own HTML as JSON)
  and /runtime/prewarm.
- failSession best-effort persistence now logs its failure server-side
  instead of vanishing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 01:55:41 +02:00
marcopanandClaude Fable 5 1ab0015460 fix(harness): state-integrity pass — reopen order, atomic decision batch, bash anti-bypass
Audit findings 5.1-5.3.

5.1 `phase reopen` now appends `phase_reopened` BEFORE the artifact
teardown: a crash between the two used to leave later-phase artifacts
deleted with the ledger still at the old phase (resume entered a phase
missing its artifacts). The inverse half-state — reopened with stale later
artifacts — is benign. Order locked by tests/test_phase_reopen_order.py.

5.2 New `tht decision add-batch --doc -`: N substantive decisions in ONE
atomic ledger write (meta types and cte_approved stay on `decision add`;
strictest min-phase enforced). reviewer_schema_linking now builds the
complete curation set and persists it with a single add-batch call — a
mid-loop failure can no longer leave the audit ledger half-written, and a
retry cannot duplicate the first K decisions.

5.3 The anti-bypass hook now also blocks BASH mutations of protected
state (`echo >> review_decisions.jsonl`, `sed -i` on the manifest,
`cat > tht-gate.js`, python open('w'), mv/rm/tee/…): FORBIDDEN only
covered tht subcommands and the write/edit hook only covered pi's own
tools. Read-only access (cat/grep/tail/ls) stays allowed.

Also: knownDecisionTypes is defensive — a workflow meta declaring NO
emits at all (older tht, minimal stubs) skips pre-validation instead of
rejecting every substantive type; with emits present, unknown types are
still rejected before the widget (new L1 test).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 01:51:38 +02:00
marcopanandClaude Opus 4.6 6ee5bda7f0 feat: gate decision-type validation, force-advance, and frontend fixes
Gate (tht-gate.js):
- Pre-validate decision types against workflow.yaml before showing reviewer widget
- Reject decisions emitted by later phases (min-phase check)
- Copy top-level `kind` into artifact when model forgets it (prevents loop)
- Force-advance on reviewer_decide/schema_linking when advance:true — skip
  redundant reviewer_confirm gate

Backend:
- Emit agent_end on clean Pi exit (code 0 + bridge idle) instead of marking failed

Frontend:
- Strip <think> tags from transcript and activity panel
- Fix mermaid render with offscreen container + cleanup
- Graceful mermaid error: show source code instead of red error, fall back to table

Workflow:
- F2 now emits table_promoted and table_excluded (early schema linking decisions)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-19 14:14:44 +02:00
marcopanandClaude Opus 4.8 9fbca06f7c feat(harness): make tht schema columns glob/pattern-aware
At F4 (schema_linking) a model asking for a whole table family, e.g.
`fact_sost_impianto_*`, used to hit a bare "tabella non nel catalogo" and stall
without recovering. Now a pattern (containing * ? [) resolves to every matching
catalog table and returns their columns (JSON becomes an array of per-table
objects); exact names keep the original single-object contract. A non-glob miss
also suggests sibling tables sharing the leading segment, to aid recovery.

Verified live: `fact_sost_impianto_*` resolves the 20-table family on the psd
catalog. Harness suite green (811 passed).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 13:24:20 +02:00
User 5cacf70a0d fix: bootstrap user preferences without invalidating DWH cache 2026-07-16 20:32:20 +02:00