Detailed design: resolve four P1 cross-review findings
Apply repairs identified by the four-model cross-review (DeepSeek,
MIMO 2.5 Pro, GPT-5.5 Pro, Opus 4.8) and verify by regression:
- P1-01 Worker exit codes: align overview §11 and detailed-design §8.1
with baselineV1 §8 (0 protocol-level completion / 1 uncaught exception
/ 2 startup or protocol error / 3 permission error / 4 parent cancelled
/ 5 hard timeout killed). Record that task outcomes are reported via
WorkerResult.status, not exit codes.
- P1-02 PromptLayerLevel enum: add "safety" to interface-contracts §16
so the enum fully covers prompt-layering-v1 §2 L0-L9 (plus
system_debug applied within L9).
- P1-03 EventStore.project error handling: document in detailed-design
§5.3 that a project() exception rolls back the full transaction,
suppresses EventBus.publish(), returns AirError{kind:"system_error"},
and triggers referential_check() on FK-off inconsistencies.
- P1-04 PromptLayerLoader completeness: record in detailed-design §10.2
that PromptLayerLoader only owns L0/L1/L3/L5 while ContextAssembler
composes L2/L4/L6/L7/L8/L9 from PermissionEngine, TaskSpec,
SessionStore, and ToolRegistry sources; clarify runtime-role prompts.
Regression confirms baselineV1, overview, and detailed-design now share
identical exit code semantics, the PromptLayerLevel enum covers all ten
layers, EventStore error semantics are explicit, and the PromptLayer
loading responsibility split is fully documented.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -857,12 +857,14 @@ Worker exit codes:
|
||||
|
||||
| Code | Meaning |
|
||||
|---:|---|
|
||||
| 0 | success |
|
||||
| 1 | task failed |
|
||||
| 2 | worker crashed |
|
||||
| 3 | protocol error |
|
||||
| 4 | cancelled |
|
||||
| 5 | permission/policy blocked |
|
||||
| 0 | protocol-level completion (including task failed/blocked via WorkerResult) |
|
||||
| 1 | uncaught exception |
|
||||
| 2 | startup/protocol error |
|
||||
| 3 | permission error |
|
||||
| 4 | parent cancelled |
|
||||
| 5 | hard timeout killed |
|
||||
|
||||
Note: Task success/failure is communicated through `WorkerResult.status`, not exit codes. Exit code 0 means the worker completed the IPC protocol correctly; the actual task outcome is in the result payload.
|
||||
|
||||
Workers never write SQLite directly and never perform side effects outside parent-mediated tools.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user