marcopan
6176410f42
fix(evidence): fail closed when BM25 is unavailable
2026-08-24 18:21:21 +02:00
marcopan
0e9add09a9
feat(evidence): add Qdrant BM25 vector in place
2026-08-24 18:01:46 +02:00
marcopan
6062cb010e
Chiusura fase di ristrutturazione e modularizzazione del workflow per favorire sviluppo modulare
2026-08-24 13:32:20 +02:00
marcopan
8826f8ac6b
refactor: remove pgvector runtime
2026-08-08 21:38:03 +02:00
marcopan
820b237239
fix: remove http delete-kinds regression
2026-08-08 18:21:20 +02:00
marcopan and Claude 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
User
6dbf93fff9
feat: harden runtime readiness and session workflow
2026-07-14 10:27:25 +02:00
marcopan
05accc1443
fix(evidence): isolate vectors by workspace
2026-07-12 05:50:59 +02:00
marcopan
92b1d3ccc3
fix(evidence): retain referenced vector generations
2026-07-12 05:34:47 +02:00
marcopan
2624d1d342
test: assert removed evidence stays hidden
2026-07-12 05:26:11 +02:00
marcopan
9a9acbd122
test: gate real pgvector corpus lifecycle
2026-07-12 05:22:30 +02:00
marcopan
9e21cce036
test(evidence): harden generation lifecycle boundaries
2026-07-12 05:15:30 +02:00
marcopan
459ffa0bcd
fix(evidence): reconcile generations safely
2026-07-12 05:10:19 +02:00
marcopan
f3b49f41c8
feat(evidence): add safe retention and materialized reads
2026-07-12 05:02:47 +02:00
marcopan
6c67235caf
fix(vector): close local pgvector final review
2026-07-12 02:48:10 +02:00
marcopan
015c496bda
fix(vector): harden backup restore parity gates
2026-07-12 02:29:53 +02:00
marcopan
e4db2ea5e1
docs(vector): add local backup restore and parity gate
2026-07-12 02:18:29 +02:00
marcopan
3588a7749b
fix(vector): harden packaged migrations
2026-07-12 01:32:33 +02:00
marcopan
c0d50e9b08
feat(vector): version pgvector schema
2026-07-12 01:21:29 +02:00
marcopan
409f806aae
fix(vector): verify writer sequence privileges
2026-07-12 01:13:56 +02:00
marcopan
e7e948c77c
fix(vector): harden direct pgvector parity
2026-07-12 01:09:24 +02:00
marcopan
b09341f07e
feat(vector): add direct pgvector adapter
2026-07-12 01:01:15 +02:00
marcopan
f6302b31dd
fix(dwh): validate adapter limits strictly
2026-07-11 20:19:05 +02:00
marcopan
216984aac8
fix(dwh): align adapter sampling contract
2026-07-11 20:14:23 +02:00
marcopan
fc5fbe6b65
refactor(harness): renaming prodotto tht (Onda -1)
...
Thoth (tht) è il prodotto, PSD è il cliente. Nessun riferimento al contesto
clinico nel codice.
Rinomine:
- comando+package nsp→tht (dir nsp/→tht/, 46 import, pyproject entry point)
- gate nsp-gate.js→tht-gate.js (+ rewrite token, relayIfNspFails→relayIfThtFails)
- workspace chirone.{example,test}.yaml→tht.{example,test}.yaml (generici)
- env THOTH_→THT_ (19 var) + NSP_ stragglers (NSP_HARNESS_ROOT, NSP_SESSION)
- commenti/docstring chirone/psdwp3/policlinico neutralizzati ('the reference
implementation', 'the DWH')
Aggiunto [tool.setuptools.packages.find] include=['tht*'] (necessario: l'auto-
discovery rompeva con tht/ + workspaces/ come top-level multipli).
.env operatore aggiornato in-place (prefissi THT_, valori preservati, gitignored).
Verifica: pytest 109 passed, npm test 14 pass, tht phase meta --json OK, zero
residui nsp/THOTH_/NSP_/chirone nel package.
2026-06-27 10:33:16 +02:00
marcopan
eb3bde90e2
test(harness): L0 testcontainers + L1 contract tests for ported db/mschema/rest (A9, spec §1)
...
Ports the leaf data-layer modules and validates them:
- mschema/ (models, eligibility, merge, render), db/ (connection, sampling,
introspect, fetch_ca), rest/client.py -- renamed psdwp3->nsp, verbatim.
- L0 (testcontainers, real Postgres): db connection read-only enforcement
(psd_ro cannot CREATE/INSERT), introspect against a known schema (tables,
columns, types, comments, FKs, enum, composite PK), sampling most-frequent
values + truncation reporting. 15 tests, ~4s.
- L1 (fake data): rest/client RPC contract (mocked transport -- X-API-Key
header, payloads, base_url slash handling, HTTP/network error surfacing),
mschema/render 3 formats (markdown, mschema-text, schema-dict) +
eligibility rules (wide_text excluded, short_text/numeric/enum/temporal/
boolean eligible, annotation override wins). 25 tests.
pyproject registers l0/l2 markers + addopts '-m not l2' (L2 opt-in).
Deferred to their dependency-porting tasks: test_rrf.py (search needs
vectorstore, B3) and the 11 CLI contract tests (need _guards/session, wired
when each command lands). 'Not assumed reliable' now has real teeth for the
data layer; CLI/search contracts follow.
2026-06-26 22:53:08 +02:00