Commit graph

40 commits

Author SHA1 Message Date
Natalie
20d52431bc docs(deploy): edge basic_auth + token injection resolved; open = https registry, ssh, wg1
Some checks failed
CI/CD / verify (push) Failing after 2s
CI/CD / deploy (push) Has been skipped
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 07:51:32 -04:00
Natalie
40e5ea9d39 docs: update PLAN + AI docs for the data→model lane (LoRA, e2e, infra-tools)
Some checks failed
CI/CD / verify (push) Failing after 3m11s
CI/CD / deploy (push) Has been skipped
ai-system-plan.md: §6.A marked done (identity gate, gated re-sweep, classifier LoRA
97%/85.5%, e2e replay 90.5% gate, #3 judge); data→model lane ; new Testing &
supervision section (the 4 supervision layers + the missing online supervisor agent);
sources updated (@cocotte/infra-tools, classifier-serving, replay scripts).
THREE_LANES_STATUS.md: 2026-07-01 update tying the trained classifier to blockers #2/#6.
PLAN.md: AI/data→model lane section (separate workstream, this session's deliverables
+ what's owed/operator-gated). eval README: gpu.py thin-wrapper, LoRA/replay files, the
e2e result.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 07:37:06 -04:00
Natalie
40b634f83b docs(deploy): mark dup-droplet + tf-drift + LE cert resolved; open = edge token, ssh, wg1
Some checks failed
CI/CD / deploy (push) Blocked by required conditions
CI/CD / verify (push) Has been cancelled
Duplicate ct.prod droplet destroyed + reserved IP released (billing stopped);
terraform state re-imported to the live apps.ct record (plan: No changes); real
LE cert verified for apps.ftw.pw. Remaining: edge token injection for the console,
mesh-only SSH, wg1 join.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 07:36:33 -04:00
Natalie
0d91d431ee docs(deploy): as-built ct.prod bring-up + known issues (dup droplet, drift, verdaccio, DNS CNAME)
Some checks failed
CI/CD / verify (push) Failing after 3m52s
CI/CD / deploy (push) Has been skipped
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 07:28:55 -04:00
Natalie
ac7392b255 docs(deploy): apps.ftw.pw via CNAME -> apps.ct.uvlava.com (not manual A / url-fwd)
Some checks failed
CI/CD / verify (push) Failing after 5m53s
CI/CD / deploy (push) Has been skipped
The public IP is IaC-owned (digitalocean_record.ct_apps); joker.com just holds
a one-time CNAME apps.ftw.pw -> apps.ct.uvlava.com. CNAME (not url-forwarding)
so the browser stays on apps.ftw.pw and Caddy issues its LE cert. Apex short-
links untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 20:01:02 -04:00
Natalie
2e035355f5 feat(eval): gpu.py serve-classifier + classifier-serving integration contract
Some checks failed
CI/CD / verify (push) Failing after 1m58s
CI/CD / deploy (push) Has been skipped
serve-classifier: launch the trained LoRA classifier (Qwen2.5-7B +
/mnt/models/lora-classifier adapter) via vLLM --enable-lora on :8001,
coexisting with the 27B generator on :8000 (gpu-mem 0.25, /mnt/models ro).
classifier-serving.md: the integration contract — how prospect.classify routes
to the served quinn-classifier model (the one ai-harness/backend change), env,
the 12-move + is_prospect-first schema. Docs/my-lane only; backend wiring
punch-listed for the parallel agent.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 17:12:22 -04:00
Natalie
e7ed0ea951 docs(deploy): ct.prod runbook (hardened public prod / DMZ)
Some checks failed
CI / verify (push) Failing after 46s
Document ct.prod as the hardened public prod host: public Caddy edge + app on
ct.prod, /internal + DB on VPC/mesh, lime internal-only. Add the exact ordered
operator runbook (terraform plan/apply -target for the ct.prod resources, wg1
join via citron, one-time DB role + trusted-source, apps.ftw.pw DNS as an
operator decision since ftw.pw is not DO-managed, deploy-server.sh, Caddy
install). Keep the lime DB/env/systemd mechanics as a legacy reference.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 12:17:25 -04:00
Natalie
9e7e0d1d33 docs(prospector): add work-lane ownership split to the build plan
Some checks failed
CI / verify (push) Failing after 41s
Two concurrent lanes meet only at a versioned interface, never the same files:
- Backend+UI lane (the parallel agent): src/, web/, migrations/ — engine,
  ai-harness wiring, governance, teach-loop, specs/mission backend, UI,
  orchestrator.
- Data->model lane (this session): tooling/eval/ + model artifacts — identity
  gate, re-sweep, label verify, classifier+voice LoRA, eval bake-off, CPU
  distill, GPU ops.
Interface: a trained eval-passed build do-gpu-<model>_<build> at
GPU_INFERENCE_URL; backend points draft_engine at it. No shared files.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 12:04:23 -04:00
Natalie
fd08c113c6 docs(prospector): finish ai-system-plan — status legend + deps + sources-of-truth
Some checks failed
CI / verify (push) Failing after 52s
ultracode pass (survey -> author -> adversarial verify) updated the master
plan to the now-real state and added the 5 finishing sections:
- Status legend (shipped/in-progress/proposed) applied throughout.
- ai-harness reconciled: @packages/ai-harness now EXISTS (committed; retired
  model-boss, MODEL_BOSS_URL->GPU_INFERENCE_URL, wired via src/gpu fail-soft).
- Dependency-resolution section (ai-harness done; PROSPECTOR_TRAINING + Executor
  datasets external; src/specs/0014 proposed).
- GPU cost-control sequencing (0013 shipped 2 of 6 settings).
- Sources-of-truth appendix (verified path + status per asset).
Verify phase caught + fixed the one new error (tooling/eval 8 .py, not 11).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 11:47:05 -04:00
Natalie
1fa1787dd4 docs(prospector): fix unverified claims found by the doc-review workflow
Some checks failed
CI / verify (push) Failing after 1m1s
Multi-agent review against the real repo confirmed 3 accuracy errors (the
design docs were correctly cleared as forward-looking, not state claims):
- ai-system-plan: drop '95% terse' — score.py emits only on-voice/location/
  malformed; cite those.
- tooling/eval/README: pseudonym is RQ_NN only (extract.py), not THREAD_NN.
- training-loop: mark PROSPECTOR_TRAINING.md as an external Executor doc not
  yet in this repo (also dangling-cited in fast-classifier.ts:4).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 11:14:54 -04:00
Natalie
2df18b5358 docs(prospector): retire model-boss for @prospector/ai-harness; add DRAFT mode + alignment gate
Some checks failed
CI / verify (push) Failing after 40s
- Replace every model-boss/coordinator reference with the @prospector/ai-harness
  story (direct vLLM client + classify/draft/judge/orchestrate task registry +
  on-demand GPU lifecycle + CoT-workflow runner + cost meter) across ai-first-v4,
  draft-engine, model-eval-pipeline, and PROSPECTOR.md; GPU_INFERENCE_URL is the
  canonical inference contract. Note ai-harness is promotable to a shared @ct
  package (onlyfans carries a parallel src/engine/classifier.ts).
- Fix migration collision: ai-first-v4 actor-attribution renumbered 0007 -> 0016
  (0007_tasks.sql exists; tree at 0013).
- Add the three missing pieces from the plan: a formal DRAFT runner mode distinct
  from PAUSE + DRAFT->GO graduation (new control-modes.md); a runtime per-draft
  alignment gate (deterministic facts/policy + GPU judge; spec_conflict/
  policy_conflict holds) in draft-engine's pipeline; and the facts/mission config
  schema (src/specs/, 0014_specs.sql) in ai-system-plan §5 + draft-engine.
- Index control-modes.md and the ai-harness rename in features/README.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 11:06:30 -04:00
Natalie
bd91dc19ea docs(prospector): grouped feature documentation + eval pipeline docs
Some checks failed
CI / verify (push) Failing after 44s
Add docs/features/README.md — feature docs grouped by area (AI system,
engine, training & eval, GPU/cost/ops, interfaces) with a reading order.
Rewrite tooling/eval/README.md to document the full built pipeline (lib,
mine_cluster, sweep, rationalize, run, score, gpu.py) grouped by stage.
Point docs/README.md at the grouped index. Remove stale gpu.sh (gpu.py
replaced it); gitignore __pycache__/prompts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 10:41:16 -04:00
Natalie
0561db2c02 docs(prospector): comprehensive AI system plan
Some checks failed
CI / verify (push) Failing after 36s
Master plan tying the AI engine + mission layer + model + UI/UX + tuning
levers. Answers: layering (trained-stable vs mission-volatile -> mission
changes need NO retrain), the model (27B/52GB BF16 or ~16GB Q4, on the nyc2
volume+HF, CoT-thinking, generator accurate / classifier needs clean-data
LoRA), GPU-vs-CPU (GPU for batch+teacher, distill small for CPU+Q4 production),
the UI gaps (Mission Control, teach-loop wiring, tuning/interpretability
surface, eval dashboard, GPU buttons -- atop the existing ModelView/VoiceView/
AutopilotView/orchestrator scaffolds), and the levers (mission/canon/prompt/
temp/taxonomy/LoRA + the CoT trace as the explainability output).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 10:31:31 -04:00
Natalie
96f49167e4 feat(sim): UI simulator seeder + three-lane proving status report
Some checks failed
CI / verify (push) Failing after 49s
scripts/seed-sim.mjs (npm run seed:sim) drives POST /internal/inbound
exactly as macsync would, with a varied realistic batch (every classifier
bucket, booking triads, multi-message threads, a gift-card scam, US/UK/MX
markets). Lights up 13/16 operator-PWA views with real backend-derived
data so the UI is exercisable without the live mesh — verified in Chrome
(Triage: 19 prospects + funnel; Outbox: 26 draft tasks; Reports funnel).

docs/THREE_LANES_STATUS.md captures the proof: Lane 1 (backend+MCP) PROVEN
end-to-end, Lane 2 (UI) SIMULATED, Lane 3 (AI orchestrator MCP) DESIGNED,
plus ranked blockers — incl. a safety-critical classifier gap (gift-card/
BTC scam tagged logistics/qualified) that must be fixed before any GO mode.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 10:27:52 -04:00
Natalie
57c497989c feat(mcp-orchestrator): scaffold AI streaming orchestrator MCP + design doc
Some checks failed
CI / verify (push) Failing after 42s
Add the third prospector interface: an AI-facing streaming orchestrator MCP
that sits above the raw mcp-prospector adapter and alongside the operator PWA.
It ticks the system, reports status, detects items needing a human, raises
dedup'd nudges, and drives the GO/PAUSE/AWAY kill-switch — but never sends
(every send stays behind Gate-2 + the human_owned floor).

- @packages/mcp-orchestrator: package.json + tsconfig + src/{index,client,
  nudges,types}.ts. Six tools (orchestrate_tick, status_report, list_nudges,
  ack_nudge, set_mode, drive_loop) wired to the real REST surface; detection/
  loop logic left as documented PENDING stubs. Typechecks + builds clean.
- docs/features/ai-orchestrator.md: responsibilities, tool surface, streaming/
  nudge loop, nudge rules mapped to verified live endpoints, reuse + safety,
  open decisions.
- register the package in the root workspaces.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 10:23:52 -04:00
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