Phase 28-36 body of work

Accumulated since a6f12e2 (Phase 21 Rust port + Phase 27 versioning):

- Phase 36: embed_semaphore on VectorState (permits=1) serializes
  seed embed calls — prevents sidecar socket collisions under
  concurrent /seed stress load
- Phase 31+: run_stress.ts 6-task diverse stress scaffolding;
  run_e2e_rated.ts + orchestrator.ts tightening
- Catalog dedupe cleanup: 16 duplicate manifests removed; canonical
  candidates.parquet (10.5MB -> 76KB) + placements.parquet (1.2MB ->
  11KB) regenerated post-dedupe; fresh manifests for active datasets
- vectord: harness EvalSet refinements (+181), agent portfolio
  rotation + ingest triggers (+158), autotune + rag adjustments
- catalogd/storaged/ingestd/mcp-server: misc tightening
- docs: Phase 28-36 PRD entries + DECISIONS ADR additions;
  control-plane pivot banner added to top of docs/PRD.md (pointing
  at docs/CONTROL_PLANE_PRD.md which lands in next commit)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
profit
2026-04-22 02:41:15 -05:00
co-authored by Claude Opus 4.7
parent a6f12e2609
commit 5b1fcf6d27
52 changed files with 2575 additions and 1012 deletions
+23 -12
View File
@@ -149,6 +149,7 @@ async function main() {
const execRaw = await generate(EXECUTOR_MODEL, executorPrompt(task, log), {
temperature: 0.2,
max_tokens: 1200,
think: false,
});
let execAction: Action;
try {
@@ -192,6 +193,7 @@ async function main() {
const revRaw = await generate(REVIEWER_MODEL, reviewerPrompt(task, log), {
temperature: 0.1,
max_tokens: 1000,
think: false,
});
let revAction: Action;
try {
@@ -259,20 +261,29 @@ async function main() {
// the ranking signal.
const seedContext = task.approach_hint
?? `${task.target_role} fill in ${task.target_city}, ${task.target_state}`;
const seedRes = await fetch(`${GATEWAY}/vectors/playbook_memory/seed`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
operation: task.operation,
approach: sealed.approach || "multi-agent → hybrid search",
context: seedContext,
endorsed_names: sealed.fills.map(f => f.name),
append: true,
}),
});
let seedRes: Response | null = null;
for (let attempt = 0; attempt < 3; attempt++) {
try {
seedRes = await fetch(`${GATEWAY}/vectors/playbook_memory/seed`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
operation: task.operation,
approach: sealed.approach || "multi-agent → hybrid search",
context: seedContext,
endorsed_names: sealed.fills.map(f => f.name),
append: true,
}),
});
break;
} catch (e) {
if (attempt === 2) throw e;
await Bun.sleep(1000 * (attempt + 1));
}
}
if (seedRes.ok) {
const j = await seedRes.json() as any;
console.log(` ↳ playbook_memory seeded: id=${j.playbook_id} entries=${j.entries_after}`);
console.log(` ↳ playbook_memory seeded: id=${j.outcome?.playbook_id ?? j.playbook_id} entries=${j.entries_after}`);
} else {
console.warn(` ↳ playbook_memory seed failed: ${seedRes.status} ${await seedRes.text()}`);
}