Commit Graph
57 Commits
Author SHA1 Message Date
marcopan 47e0b2a385 feat(setup): build start and verify ThothII 2026-08-15 23:09:10 +02:00
marcopan 2856964654 fix(setup): validate endpoints and secret files 2026-08-15 22:53:04 +02:00
marcopan 6dc9e80564 feat(setup): generate local installation configuration 2026-08-15 22:45:22 +02:00
marcopan 2c800cc521 fix(cli): honor local installation discovery precedence 2026-08-15 22:29:55 +02:00
marcopan 66614fe8cf feat(cli): discover ThothII projects and installations 2026-08-15 22:24:15 +02:00
marcopan aa8a2e9278 refactor(cli): rename operator command to tht 2026-08-15 21:56:40 +02:00
marcopan 900faad983 fix: close Pi management final review findings 2026-08-14 20:15:21 +02:00
marcopan 59a04123ea fix: make thothctl doctor portable 2026-08-14 18:31:52 +02:00
marcopan a35f52790d feat(thothctl): expose Pi restart command 2026-08-14 18:25:23 +02:00
marcopan 3a1f2ede4a fix(thothctl): harden Pi restart recovery 2026-08-14 18:15:00 +02:00
marcopan 422f1d47b4 feat(thothctl): add safe Pi core restart 2026-08-14 17:52:35 +02:00
marcopan e902f758b1 refactor(thothctl): share Pi lifecycle lock 2026-08-14 17:36:33 +02:00
marcopan 747020a330 feat: declare workspace repository in installation config 2026-08-14 16:32:58 +02:00
marcopan 0459a6cd3e feat: operator schema accept command for curated FK review (P5) 2026-08-13 05:06:23 +02:00
marcopan e056c19e62 feat: P4 qdrant collection lifecycle (self-heal + guarded rebuild)
- shared TS collection manager: self-heal creates missing collection (1024/cosine)
  and missing keyword payload indexes; never mutates incompatible contracts
  (semantic_index_incompatible); async index visibility polled with bounded deadline
- session admission (qdrantEnsure) uses the manager in self-heal mode; operator path
  keeps require_existing semantics
- runtime lease exposes semanticQdrantUrl to the operator
- operator commands vector-inspect/vector-rebuild with exact confirmation guards
- thothctl workspace vector inspect|rebuild (Go) with --collection/--confirm/--destroy
- p4 acceptance runner: real Qdrant (v1.18.2) lifecycle checks, 11/11 PASS
- docs: CLI contract, manual walkthrough P4 (PENDING), PROJECT_STATE
2026-08-12 20:00:14 +02:00
marcopan c4063eecb6 fix: accept P3 effective-config identity fields in thothctl results 2026-08-12 18:01:57 +02:00
marcopan da214820b0 fix: accept failed operator results without revision identity 2026-08-11 19:52:52 +02:00
marcopan 498a93d915 fix: treat the operator JSON result as authoritative across exit codes 2026-08-11 19:50:12 +02:00
marcopan ca552451a4 fix: carry the suggested FK artifact through thothctl JSON output 2026-08-11 19:38:20 +02:00
marcopan 3517cd8724 fix: treat operator checkpoint exit 3 as a valid machine result 2026-08-11 19:37:11 +02:00
marcopan 2cbb1a5496 test: align SQL ingress envelope assertions with name/sql 2026-08-11 19:35:33 +02:00
marcopan 920642673e fix: send SQL inputs as name/sql in the operator envelope 2026-08-11 19:34:29 +02:00
marcopan 929f7dcc5e test: align thothctl envelope tests with the operator contract 2026-08-11 19:22:52 +02:00
marcopan 632c1c1612 fix: align thothctl operator envelope with the workspace-maintenance contract 2026-08-11 19:22:01 +02:00
marcopan 99d1400ace fix: surface sanitized operator detail in thothctl compose failures 2026-08-11 19:19:40 +02:00
marcopan 17f2e48463 feat: thothctl workspace preprocessing CLI and file-ingress contracts (P2) 2026-08-11 18:40:11 +02:00
marcopan ddf60c9a95 fix: preserve portable rollback mount identity 2026-08-09 00:45:14 +02:00
marcopan fb95be3e62 fix: normalize Docker Desktop mount aliases 2026-08-09 00:28:25 +02:00
marcopan ece9cfda50 fix: validate deployment rollback and server topology 2026-08-05 15:15:06 +02:00
marcopan 5f015a5a37 fix: complete deployment release gates 2026-08-05 14:35:25 +02:00
marcopan fc349e634c fix: close server bypass edge cases 2026-08-05 12:09:32 +02:00
marcopan a94affd6ac fix: enforce server trust boundaries 2026-08-05 11:42:35 +02:00
marcopan 96fe5bfa79 fix: make server operations executable 2026-08-05 11:06:34 +02:00
marcopan d6b4a08a02 feat: expose safe pi management api 2026-08-05 00:31:44 +02:00
marcopan 09eeea17e5 fix: harden maintenance failure reconciliation 2026-08-05 00:10:13 +02:00
marcopan 70dabcc192 fix: preserve Pi recovery error semantics 2026-08-04 23:59:01 +02:00
marcopan 935bb1db0e fix: harden embedded Pi lifecycle recovery 2026-08-04 23:14:47 +02:00
marcopan a368889838 fix: finalize durable Pi lifecycle 2026-08-04 21:34:08 +02:00
marcopan 5ba2821a1b fix: harden Pi lifecycle recovery 2026-08-04 20:28:09 +02:00
marcopan 5b3ce93e31 fix: acknowledge pi maintenance barrier 2026-08-04 19:32:05 +02:00
marcopan 0b9ad7f53f fix: harden pi maintenance lifecycle 2026-08-04 19:09:04 +02:00
marcopan 8fde1f81c7 fix: harden thothctl pi lifecycle 2026-08-04 18:40:50 +02:00
marcopan 20e59b8d32 feat: manage embedded pi with thothctl 2026-08-04 18:20:39 +02:00
marcopan c90299f24d fix: harden thothctl Windows safe I/O 2026-08-04 17:55:36 +02:00
marcopan f5468f0d36 fix: harden thothctl file access 2026-08-04 17:34:46 +02:00
marcopan 35a000222c fix: fail closed thothctl secret sources 2026-08-04 17:17:39 +02:00
marcopan 4158990c10 fix: harden thothctl diagnostics 2026-08-04 17:00:05 +02:00
marcopan 853a151796 feat: add cross-platform thothctl 2026-08-04 16:48:40 +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 803b98de36 fix(frontend): center gate dialogs on the app area, not the browser viewport
Embedded in the Omics Portal the SPA sits to the right of the portal sidebar,
but dialogs used `fixed left-1/2` — centered on the whole browser window, so
gates rendered visibly off-center (overlapping the sidebar).

- AppShell publishes the app area's horizontal geometry (--app-area-left/width)
  as CSS vars on <html> via ResizeObserver + window resize.
- DialogContent centers on those vars (falls back to the viewport when the app
  is standalone, where the two coincide).
- ArtifactGateWidget: narrower — cap at 52rem instead of 70vw.
- tools/replay: resume now returns {id, alreadyActive} JSON — the post-f979ada
  frontend reads result.alreadyActive and a bare 204 broke replay resume.

Verified on the replay harness: with a simulated 300px portal sidebar the gate
centers on the app area (center 790 = 300 + 980/2); standalone unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 17:08:20 +02:00