Commit graph

25 commits

Author SHA1 Message Date
Natalie
0120acef26 docs(prospector): add model eval & selection pipeline (Claude-advisor/OSS-worker)
Some checks are pending
CI / verify (push) Waiting to run
Bake-off harness in src/eval/ with Claude as offline labeler/judge/advisor
(never in the serving loop). Per-role scoring (classifier F1, generator
refusal+voice+policy+85% gate, orchestrator tool-call), replay harness to
fix Executor cycle-1's no-batch-replay blocker, researched candidate
roster (de-refused instruct base + Quinn-voice LoRA over heavy RP
fine-tunes). Reuses outcomes.jsonl/gold-turnpairs/RUNNER-POLICY.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 23:42:10 -04:00
Natalie
332b422f8b docs: move PLAN.md to app root
Some checks are pending
CI / verify (push) Waiting to run
PLAN.md belongs at the repo root as the active build roadmap, not nested under
docs/prototype/. Fix its internal links to resolve from root; point the prototype
README and app README at the new location.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 19:10:59 -04:00
Natalie
78dc1a388e docs(prototype): add PLAN.md — build the PWA to the unified prototype
Some checks are pending
CI / verify (push) Waiting to run
View-by-view map of the 16 prototype views to their src/ backend module and
web/ component, with status (exists/extend/new), the 6 backend gaps (Stream,
Bookings, Backfill cohorts, Voice alignment, Dashboard, Autopilot), and a P0–P3
phasing. Grounded against the actual src/ modules and web/src/views.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 19:08:23 -04:00
Natalie
57a2a15851 docs(prototype): import unified Prospector prototype (16 views)
Some checks are pending
CI / verify (push) Waiting to run
Self-contained, hash-routed Design Component fusing the per-view designs/
mockups into one navigable app. Adds the two previously-blank routes
(Voice alignment, Backfill) and a Stream empty-state; all 16 views verified
interactive with zero console errors.

- Prospector.html      self-unpacking bundle (zero deps) — open this
- Prospector.dc.html   editable <x-dc> source + runtime files
- BREAKDOWN.md         view <-> builder <-> data decomposition map
- README.md            structure, run/edit, re-bundle notes
- docs/README.md       link from the docs hub

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 19:03:52 -04:00
Natalie
57c3b76ef5 docs(prospector): add training-loop (CoT-labeled corpus -> LoRA -> eval gate)
Some checks are pending
CI / verify (push) Waiting to run
Thesis: enrich 10K+ history into per-turn {read, move, outcome, source}
records before training. Map the two producers (matcher=classify+retrieve,
agent=generate) to data routing; distill agent wins into the matcher
library as the cost/quality shortcut. LoRA per role on a transient
training droplet; multi-LoRA serving on the single inference droplet;
eval-gated build flip. Classifier first, generator second, orchestrator
never trained.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 18:00:01 -04:00
Natalie
cb0cbc9862 docs: link top-level @ct/docs workspace hub from prospector docs
Some checks are pending
CI / verify (push) Waiting to run
The prospector extraction is now the precedent for finances + marketing. Added pointer to the new high-level navigation hub (applications, packages, platforms).
2026-06-29 16:31:07 -04:00
Natalie
2af7c6bda7 docs(prospector): split AI roles into orchestrator vs pipeline
Distinguish three AI roles across two tiers: the orchestrator/chat agent
(Tier A, control-surface CLIENT, user-facing, presence-warmed) vs the
classifier + message-generator (Tier B, pipeline components the app CALLS,
queue-warmed). Plane-3 autonomy agent = same orchestrator, event-driven
entry point. Fix warm-up triggers to be role-specific.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 16:20:21 -04:00
Natalie
bc47a2a72d docs(prospector): add GPU cost-control feature (warm-up, meter, pause)
Presence-driven auto-warm (confirm toast), live uptime cost meter,
pause=teardown to stop billing, GPU policy moved to settings config.
Corrects the cost model: DO bills for droplet existence, not inference.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 16:18:08 -04:00
Natalie
50d5527345 docs(prospector): add v4 AI-first control-surface build plan
Three control planes (operation/observation/autonomy) + governance, OSS
model end to end. Sequences parity+observability -> governance -> autonomy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 16:10:25 -04:00
Natalie
8436b8d1a1 docs(prospector): document task queue, peer network, GPU fleet + Hosts
Update the unified definition + backend index to reflect the buildout:
- PROSPECTOR.md §3: Queue is now a typed-task console; add Hosts (GPU
  fleet); Reports covers the 4 contracted reports (graph/intros/
  marketplace); Control gains the peer registry. §5: model-boss/DO GPU
  enrich path + peer-exchange protocol. Designs now 10 (PWA-only).
- src/README.md: module rows for tasks/providers/intros/marketplace/
  peers/gpu; entities + migrations 0001-0012; UI feature list refresh.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 16:06:03 -04:00
Natalie
bcbd558e9d refactor!: drop Swift/native macOS app, unify on the PWA
Some checks are pending
CI / verify (push) Waiting to run
Remove all Swift/legacy artifacts — no native app, no swift-react UI, no
tech debt. The Chrome PWA (web/) on the NestJS backend (src/) + MCP server
is the sole way forward.

Removed:
- @packages/prospector-client, @packages/prospector-ui (Swift packages)
- Sources/ (QuinnProspector, QuinnProspectorCore), Config/, project.yml,
  QuinnProspector.xcodeproj, Resources/
- PLAN.md (stale my/-port plan, superseded)

Rewired:
- .forgejo/workflows/ci.yml → Node CI (npm ci → typecheck/test/build for
  backend + web + MCP) instead of Swift build/test
- .gitignore → drop .build/, *.xcodeproj/

Unified definition:
- docs/PROSPECTOR.md — new single source of truth (architecture, surfaces,
  invariants, dependencies, build/deploy)
- README.md, CLAUDE.md, docs/README.md, src/README.md → PWA-forward,
  point at docs/PROSPECTOR.md, no Swift/legacy references

designs/ kept intact as the authoritative UI/behavior spec.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 11:59:04 -04:00
Natalie
6757a0dd29 docs: add MIGRATION_FROM_LP.md (removal targets, cutover, remaining ports) + update PLAN.md with progress. UI/MCP complete per plan. Builds green. 2026-06-29 09:31:31 -04:00
Natalie
3fafb943bb feat(ui+ mcp+docs): complete UI fusion (Triage sidebar+toolbar+bi matching designs/main+reports 4 fused with bi+Queue tabs+sim+log+Pastebin sync+Control PWA install); extend MCP with draft/send/thread/list/pastebin/reports/mr/markets for full legacy cockpit parity; update deploy.md with migration 0006 + notes. Per MIGRATION-PLAN Phases 1+3+5. Builds/tsc green. 2026-06-29 09:31:13 -04:00
Natalie
b9c8c0879e docs(standards): house engineering standards + module index, filesystem-as-docs
Codify project standards in docs/STANDARDS.md (feature-sliced NestJS modules,
pure-logic/IO split, reuse-don't-reimplement, co-located Vitest, 300/500 LOC
caps, README-per-feature). Add src/README.md as the module index. Point CLAUDE.md
at both. src/markets/ is the reference module.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 08:09:35 -04:00
Natalie
b41a409318 docs: represent reality — web/ on this repo's backend is the live app
Reconcile the strategic docs with what's actually built (the docs still claimed
the app lived in the platform my/ feature and led with a 10-phase my/-port plan):

- README: seven wired views incl. Markets, the /prospector/* endpoint each uses,
  the two distinct "market" notions (calling-code vs tour-stop), open goals.
- CLAUDE.md: primary deliverable + implementation location now point to web/ +
  src/ here; my/ SSO surface reframed as a future goal; current-focus refreshed.
- PLAN.md: prepend a "Reality Update" banner that supersedes the my/-port phases
  (kept below as historical context); fix the stale header lines.
- docs/README.md: point at the reality + the PLAN banner.

No .project directory exists in this repo — nothing to dissolve. Backend 160
tests green, web tsc clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 08:07:48 -04:00
Natalie
845f437cb5 docs: README + package.json reflect the implemented web/ operator PWA
The full coworker-replacement app is built in web/ (served by this repo's
NestJS backend), not the platform my/ surface. Document the six views and the
/prospector/* endpoints each uses, the shared-audit/human_owned/Life-opt-in
guarantees, and dev/build commands. Keep the platform my/ SSO vision as-is.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 07:58:45 -04:00
Natalie
d22b27b883 docs(deploy): DB step now via Terraform (uvlava/terraform/do) apply + outputs
Replace manual doctl DB creation with the declarative IaC path: terraform apply
creates people+prospector DBs+users on the managed cluster; pull DB passwords +
host from terraform output into the service .envs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 07:54:49 -04:00
Natalie
8bd6670878 docs(deploy): correct DB topology — DO Managed Postgres, not local
Probe found no local PG: droplet pgbouncer fronts a DO Managed cluster
(private-lilith-store-pg, holds live quinn). people+prospector are new DBs on
that cluster (additive); services connect direct to :25060 over SSL. Node 20
already installed on lime.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 07:34:02 -04:00
Natalie
6ca7a32964 feat(prospector): enhance backend+MCP per MISSING_REQUIREMENTS.md (P0 gaps: real raw classify, booking triad+takeover verdict, composition+confidence, send safety floors incl vendor/human/known, structured returns; add /prospector/classify + mcp tool; richer inbound+runner+gate+people signals; update docs). Builds/tests green. Per PLAN.md + docs/features/mcp/MISSING_REQUIREMENTS.md. 2026-06-29 07:30:08 -04:00
Natalie
100ffc60c1 docs(deploy): prod runbook for the DO droplet (lime/lilith-store-backend)
Grounded in a read-only probe: Ubuntu 24.04, Node 18 (needs 20 for NestJS 11),
PG16+pgbouncer, mac-sync co-tenant, mesh 10.9.0.5. Steps: node20, create people+
prospector DBs (additive), migrations, ship dist + npm ci, env, systemd units,
mac-sync inbound webhook, point dev UI at prod over the mesh (10.9.0.5:3210).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 07:28:49 -04:00
Natalie
631e131327 docs: correct deploy target (black dead -> DO droplet) + on-demand GPU lifecycle
black homelan is gone; prod target is the DO backend droplet (lilith-store-backend,
209.38.51.98 / wg 10.9.0.5) where mac-sync-server already runs. Fix black:2546x
DB-host refs in comments/migrations. GPU is on-demand + queue-driven: hold warm
while backlog is deep, release on idle grace (not strictly per-tick).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 07:22:29 -04:00
Natalie
16732f9693 docs(draft-engine): OSS-on-GPU + CoT workflow builder; rename MVP engine 'template'
Document the draft engine direction: OSS uncensored models on DO GPU droplets
(reuse LPv2 provisioning, no model-boss), engine id 'do-gpu-<model>_<build>', and
pastebin → CoT workflow builder (versioned reasoning chains the model runs;
pastebin canon as injected context; corrections as per-build tuning data). Rename
the MVP static-render engine value 'pastebin' -> 'template' (pastebin is now
context, not the engine).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 07:14:29 -04:00
Natalie
92c98b9ade refactor: restructure to src/ app + @packages/mcp-prospector; off-Claude default; MCP
Restructure to match the @mac-sync sister-app convention + operator direction:
- Backend service -> repo root (root package = the app); engine is CORE source,
  now src/engine/ (not a separate package); imports rewritten to relative.
- MCP server -> @packages/mcp-prospector/ (agent interface; thin REST wrapper so
  the coworker can trial this backend and fall back to legacy quinn-prospector).
- web/ stays a top-level surface.
- draft_engine default 'claude:sonnet' -> 'pastebin': the whole point is to run
  OFF hosted Claude (which refuses adult-services copy) on OSS-uncensored LLMs on
  raw GPU droplets; generative target is 'gpu:<model>'. Reuse LPv2's existing DO
  GPU provisioning, not model-boss.
- docs/features/mcp.md: how the MCP works + the coworker graceful-switch protocol.
- .gitignore: ignore Swift .build/.

Verified: tsc clean, 101 tests (92 engine + 9 runner), app boots from root,
mcp-prospector builds + boots, smoke tests green (scam held, settings=pastebin).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 06:39:13 -04:00
Natalie
0451c2998b docs(prospector): add docs/README.md (points to PLAN.md + use plans); ensure CLAUDE.md committed 2026-06-28 18:32:02 -04:00
Natalie
c3e880a7bf feat(prospector): create @applications/@prospector/ skeleton with prospector-client and prospector-ui package skeletons (Wave 1 structure only)
- Per Quinn Prospector plan Wave 1 (independent): @applications/@prospector/ root + @packages/ sub structure.
- prospector-client/: Sources/ProspectorClient/ + Tests/ProspectorClientTests/ + Package.swift (product "ProspectorClient") + README.
- prospector-ui/: Sources/ProspectorUI/ + Tests/ProspectorUITests/ + Package.swift (product "ProspectorUI", depends on ../prospector-client) + README.
- Top-level placeholders: designs/, mcp/, docs/ + root README.md .
- All per task: basic skeletons, exact README migration note text, .gitkeep for dirs. No edits to old @quinn-prospector/ or @packages/@swift/@prospector/ sources.
- Verified pre-commit: list_dir + find + swift package describe (manifests valid; empty-target expected until migration in later wave).
- Git: scoped add only, on main, new repo no remote (commit local), pre-checked container git status clean for this change, no pollution per agent-cleanup.
- Follows Git Commit Protocol, safety-rules, zero tech debt, collective execution.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 17:36:20 -04:00