Rifqi Hafizuddin Claude Opus 4.8 commited on
Commit
726faa2
Β·
1 Parent(s): e4337a8

[KM-626] docs: record slow-path agent layer in PROGRESS

Browse files

PROGRESS.md: 2026-06-08 entry for the slow-path agent (TaskRunner + Assembler +
Coordinator under agents/slow_path/), the Orchestrator-vs-slow_path naming, and
the open follow-ups (live wiring, real invoker swap, GPT-mini deployment).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Files changed (1) hide show
  1. PROGRESS.md +37 -1
PROGRESS.md CHANGED
@@ -2,11 +2,47 @@
2
 
3
  Persistent tracker mirroring the 42-item ownership table in `REPO_CONTEXT.md` "Team β€” division of work". Update as PRs land. Future Claude Code sessions read this to know what's already done.
4
 
5
- **Last updated**: 2026-06-08 (tool taxonomy + ownership revision β€” see "What just shipped" below)
6
  **Current open PR**: `pr/1` β€” active. Cleanup PR committed and pushed.
7
 
8
  ---
9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  ## What just shipped (2026-06-08 β€” tool taxonomy + ownership revision)
11
 
12
  Team decisions after the teammate pushed KM-624 (`src/tools/analytics/`):
 
2
 
3
  Persistent tracker mirroring the 42-item ownership table in `REPO_CONTEXT.md` "Team β€” division of work". Update as PRs land. Future Claude Code sessions read this to know what's already done.
4
 
5
+ **Last updated**: 2026-06-08 (slow-path agent layer β€” TaskRunner + Assembler + Coordinator)
6
  **Current open PR**: `pr/1` β€” active. Cleanup PR committed and pushed.
7
 
8
  ---
9
 
10
+ ## What just shipped (2026-06-08 β€” KM-626: slow-path agent layer)
11
+
12
+ The rest of the slow path after the Planner (KM-567), from
13
+ `AGENT_ARCHITECTURE_CONTEXT_new.md` Β§7.4 / Β§7.5 / Β§8.2–8.4. Built and tested against
14
+ mocks; **not yet wired into the live `ChatHandler`** (waits on the tool team's real
15
+ `ToolInvoker` + a real `BusinessContext`). Fast path untouched.
16
+
17
+ **Naming:** "Orchestrator" = the entry dispatcher only (`agents/orchestration.py`).
18
+ The slow-path **workers** live in **`agents/slow_path/`** β€” deliberately NOT named
19
+ "orchestrator".
20
+
21
+ **Files added** (`src/agents/slow_path/`):
22
+ - `schemas.py` β€” `TaskResult`, `RunState` (Β§8.2); `TaskSummary`, `AnalysisRecord`,
23
+ `AssembledOutput`, `AssemblerNarrative` (Β§8.3). Reuses `ToolOutput`.
24
+ - `invoker.py` β€” `ToolInvoker` Protocol only (Β§8.4); the tool team owns the impl (KM-418).
25
+ - `errors.py` β€” `SlowPathError`, `AssemblerError`.
26
+ - `task_runner.py` β€” deterministic, 0 LLM: wave-based execution, `${t<id>}` placeholder
27
+ resolution, internal `validate_args`, never-throw invoke, status labeling,
28
+ degrade-and-continue β†’ `RunState`.
29
+ - `assembler.py` + `prompt.py` + `config/prompts/assembler.md` β€” single LLM call β†’
30
+ `AssemblerNarrative`; code merges with `RunState` to build the `AnalysisRecord`
31
+ (structured fields copied, never re-authored).
32
+ - `coordinator.py` β€” `SlowPathCoordinator`: Planner β†’ TaskRunner β†’ Assembler.
33
+
34
+ **Tests added** (`tests/agents/slow_path/`, 12 passing; gitignored): schema round-trips
35
+ + chat_answer-first; runner happy/placeholder/parallel/degrade/arg-miss; assembler
36
+ narrative-vs-snapshot + question threading; coordinator end-to-end. `ruff` clean;
37
+ tool-agnostic (no `src/tools/*` import).
38
+
39
+ **Open follow-ups (not blockers):** wire `SlowPathCoordinator` into the expanded
40
+ Orchestrator/`ChatHandler` once the real invoker + `BusinessContext` exist; swap the
41
+ test `MockToolInvoker` for the tool team's real one (zero agent change, INV-7); 4o β†’
42
+ GPT-mini deployment swap.
43
+
44
+ ---
45
+
46
  ## What just shipped (2026-06-08 β€” tool taxonomy + ownership revision)
47
 
48
  Team decisions after the teammate pushed KM-624 (`src/tools/analytics/`):