pi-harness-runtime 0.10.13 → 0.10.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/harness/notification-events.ts +2 -2
- package/package.json +4 -7
- package/packages/auth/src/minimax-browser-auth.js +889 -0
- package/packages/capability-registry/src/types.js +10 -0
- package/packages/checkpoint/src/checkpoint-manager.js +29 -0
- package/packages/clipboard/src/copy-sync.js +169 -0
- package/packages/clipboard/src/gist-relay.js +185 -0
- package/packages/clipboard/src/github-login.js +68 -0
- package/packages/config-capture/src/index.js +268 -0
- package/packages/cookie-sanitizer/src/atomic-write.js +66 -0
- package/packages/cookie-sanitizer/src/detect-format.js +87 -0
- package/packages/cookie-sanitizer/src/index.js +38 -0
- package/packages/cookie-sanitizer/src/infer-provider.js +95 -0
- package/packages/cookie-sanitizer/src/normalize.js +74 -0
- package/packages/cookie-sanitizer/src/parse-json.js +107 -0
- package/packages/cookie-sanitizer/src/parse-netscape.js +98 -0
- package/packages/cookie-sanitizer/src/sync.js +268 -0
- package/packages/cookie-sanitizer/src/types.js +12 -0
- package/packages/cookie-sanitizer/src/watcher.js +147 -0
- package/packages/evaluation-engine/src/engine.js +343 -0
- package/packages/evaluation-engine/src/index.js +7 -0
- package/packages/evaluation-engine/src/types.js +14 -0
- package/packages/event-store/src/types.js +5 -0
- package/packages/experience-replay/src/index.js +6 -0
- package/packages/experience-replay/src/replay.js +228 -0
- package/packages/experience-replay/src/types.js +6 -0
- package/packages/learning-engine/src/engine.js +294 -0
- package/packages/learning-engine/src/index.js +7 -0
- package/packages/learning-engine/src/types.js +63 -0
- package/packages/memory-engine/src/engine.js +507 -0
- package/packages/memory-engine/src/index.js +7 -0
- package/packages/memory-engine/src/types.js +39 -0
- package/packages/model-registry/src/types.js +5 -0
- package/packages/performance-optimizer/src/index.js +6 -0
- package/packages/performance-optimizer/src/optimizer.js +304 -0
- package/packages/performance-optimizer/src/types.js +6 -0
- package/packages/projection-engine/src/types.js +5 -0
- package/packages/providers/src/provider-id.js +112 -0
- package/packages/quota-manager/src/quota-manager.js +259 -0
- package/packages/quota-manager/src/tui-usage-monitor.js +267 -0
- package/packages/todo-bd-sync/src/detector.js +131 -0
- package/packages/todo-bd-sync/src/extension.js +104 -0
- package/packages/todo-bd-sync/src/sync.js +289 -0
- package/packages/todo-bd-sync/src/task-analyzer.js +239 -0
- package/packages/todo-bd-sync/src/types.js +66 -0
- package/packages/token-estimation/src/index.js +114 -0
- package/packages/types/src/agent-worker-types.js +41 -0
- package/packages/types/src/ai-providers.js +66 -0
- package/packages/types/src/runtime-types.js +3 -0
- package/packages/workflow-events/src/types.js +5 -0
- package/packages/write-review/src/blackboard.js +228 -0
- package/packages/write-review/src/gate.js +137 -0
- package/packages/write-review/src/index.js +17 -0
- package/packages/write-review/src/injection.js +141 -0
- package/packages/write-review/src/review.js +153 -0
- package/packages/write-review/src/trigger.js +106 -0
- package/packages/write-review/src/types.js +25 -0
- package/IMPLEMENTATION/RFC-0010/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0010/AI_BRIEF.md +0 -20
- package/IMPLEMENTATION/RFC-0010/FILES.md +0 -11
- package/IMPLEMENTATION/RFC-0010/TASKS.md +0 -10
- package/IMPLEMENTATION/RFC-0010/TESTS.md +0 -6
- package/IMPLEMENTATION/RFC-0011/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0011/AI_BRIEF.md +0 -19
- package/IMPLEMENTATION/RFC-0011/FILES.md +0 -11
- package/IMPLEMENTATION/RFC-0011/TASKS.md +0 -10
- package/IMPLEMENTATION/RFC-0011/TESTS.md +0 -6
- package/IMPLEMENTATION/RFC-0012/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0012/AI_BRIEF.md +0 -18
- package/IMPLEMENTATION/RFC-0012/FILES.md +0 -11
- package/IMPLEMENTATION/RFC-0012/TASKS.md +0 -10
- package/IMPLEMENTATION/RFC-0012/TESTS.md +0 -6
- package/IMPLEMENTATION/RFC-0013/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0013/AI_BRIEF.md +0 -19
- package/IMPLEMENTATION/RFC-0013/FILES.md +0 -11
- package/IMPLEMENTATION/RFC-0013/TASKS.md +0 -10
- package/IMPLEMENTATION/RFC-0013/TESTS.md +0 -6
- package/IMPLEMENTATION/RFC-0014/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0014/AI_BRIEF.md +0 -20
- package/IMPLEMENTATION/RFC-0014/FILES.md +0 -11
- package/IMPLEMENTATION/RFC-0014/TASKS.md +0 -10
- package/IMPLEMENTATION/RFC-0014/TESTS.md +0 -6
- package/IMPLEMENTATION/RFC-0015/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0015/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0015/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0015/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0015/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0016/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0016/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0016/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0016/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0016/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0017/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0017/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0017/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0017/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0017/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0018/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0018/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0018/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0018/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0018/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0019/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0019/AI_BRIEF.md +0 -18
- package/IMPLEMENTATION/RFC-0019/TASKS.md +0 -10
- package/IMPLEMENTATION/RFC-0020/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0020/AI_BRIEF.md +0 -18
- package/IMPLEMENTATION/RFC-0020/TASKS.md +0 -10
- package/IMPLEMENTATION/RFC-0021/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0021/AI_BRIEF.md +0 -18
- package/IMPLEMENTATION/RFC-0021/TASKS.md +0 -10
- package/IMPLEMENTATION/RFC-0022/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0022/AI_BRIEF.md +0 -18
- package/IMPLEMENTATION/RFC-0022/TASKS.md +0 -10
- package/IMPLEMENTATION/RFC-0023/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0023/AI_BRIEF.md +0 -18
- package/IMPLEMENTATION/RFC-0023/TASKS.md +0 -10
- package/IMPLEMENTATION/RFC-0024/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0024/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0025/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0025/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0026/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0026/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0027/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0027/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0028/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0028/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0029/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0029/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0030/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0030/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0031/AI_BRIEF.md +0 -45
- package/IMPLEMENTATION/RFC-0031/TASKS.md +0 -48
- package/IMPLEMENTATION/RFC-0032/AI_BRIEF.md +0 -45
- package/IMPLEMENTATION/RFC-0032/TASKS.md +0 -44
- package/IMPLEMENTATION/RFC-0033/AI_BRIEF.md +0 -46
- package/IMPLEMENTATION/RFC-0033/TASKS.md +0 -49
- package/IMPLEMENTATION/RFC-0034/AI_BRIEF.md +0 -54
- package/IMPLEMENTATION/RFC-0034/TASKS.md +0 -57
- package/IMPLEMENTATION/RFC-0035/AI_BRIEF.md +0 -55
- package/IMPLEMENTATION/RFC-0035/TASKS.md +0 -75
- package/IMPLEMENTATION/RFC-0036/AI_BRIEF.md +0 -62
- package/IMPLEMENTATION/RFC-0036/TASKS.md +0 -60
- package/IMPLEMENTATION/RFC-0037/AI_BRIEF.md +0 -59
- package/IMPLEMENTATION/RFC-0037/TASKS.md +0 -63
- package/IMPLEMENTATION/RFC-0038/AI_BRIEF.md +0 -67
- package/IMPLEMENTATION/RFC-0038/TASKS.md +0 -65
- package/IMPLEMENTATION/RFC-0039/AI_BRIEF.md +0 -68
- package/IMPLEMENTATION/RFC-0039/TASKS.md +0 -74
- package/IMPLEMENTATION/RFC-0040/AI_BRIEF.md +0 -79
- package/IMPLEMENTATION/RFC-0040/TASKS.md +0 -77
- package/IMPLEMENTATION/RFC-0041/ACCEPTANCE_CRITERIA.md +0 -8
- package/IMPLEMENTATION/RFC-0041/AI_BRIEF.md +0 -26
- package/IMPLEMENTATION/RFC-0041/FILES.md +0 -12
- package/IMPLEMENTATION/RFC-0041/TASKS.md +0 -12
- package/IMPLEMENTATION/RFC-0041/TESTS.md +0 -12
- package/IMPLEMENTATION/RFC-0042/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0042/AI_BRIEF.md +0 -5
- package/IMPLEMENTATION/RFC-0042/FILES.md +0 -14
- package/IMPLEMENTATION/RFC-0042/TASKS.md +0 -12
- package/IMPLEMENTATION/RFC-0042/TESTS.md +0 -11
- package/IMPLEMENTATION/RFC-0043/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0043/AI_BRIEF.md +0 -5
- package/IMPLEMENTATION/RFC-0043/FILES.md +0 -14
- package/IMPLEMENTATION/RFC-0043/TASKS.md +0 -12
- package/IMPLEMENTATION/RFC-0043/TESTS.md +0 -10
- package/IMPLEMENTATION/RFC-0044/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0044/AI_BRIEF.md +0 -5
- package/IMPLEMENTATION/RFC-0044/FILES.md +0 -13
- package/IMPLEMENTATION/RFC-0044/TASKS.md +0 -12
- package/IMPLEMENTATION/RFC-0044/TESTS.md +0 -10
- package/IMPLEMENTATION/RFC-0045/ACCEPTANCE_CRITERIA.md +0 -30
- package/IMPLEMENTATION/RFC-0045/AI_BRIEF.md +0 -53
- package/IMPLEMENTATION/RFC-0045/FILES.md +0 -13
- package/IMPLEMENTATION/RFC-0045/TASKS.md +0 -31
- package/IMPLEMENTATION/RFC-0045/TESTS.md +0 -62
- package/IMPLEMENTATION/RFC-0046/ACCEPTANCE_CRITERIA.md +0 -1
- package/IMPLEMENTATION/RFC-0046/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0046/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0046/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0046/TESTS.md +0 -1
- package/IMPLEMENTATION/RFC-0047/ACCEPTANCE_CRITERIA.md +0 -1
- package/IMPLEMENTATION/RFC-0047/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0047/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0047/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0047/TESTS.md +0 -1
- package/IMPLEMENTATION/RFC-0048/ACCEPTANCE_CRITERIA.md +0 -1
- package/IMPLEMENTATION/RFC-0048/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0048/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0048/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0048/TESTS.md +0 -1
- package/IMPLEMENTATION/RFC-0049/ACCEPTANCE_CRITERIA.md +0 -1
- package/IMPLEMENTATION/RFC-0049/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0049/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0049/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0049/TESTS.md +0 -1
- package/IMPLEMENTATION/RFC-0050/ACCEPTANCE_CRITERIA.md +0 -1
- package/IMPLEMENTATION/RFC-0050/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0050/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0050/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0050/TESTS.md +0 -1
- package/IMPLEMENTATION/RFC-0051/ACCEPTANCE_CRITERIA.md +0 -6
- package/IMPLEMENTATION/RFC-0051/AI_BRIEF.md +0 -20
- package/IMPLEMENTATION/RFC-0051/FILES.md +0 -8
- package/IMPLEMENTATION/RFC-0051/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0051/TESTS.md +0 -4
- package/IMPLEMENTATION/RFC-0052/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0052/AI_BRIEF.md +0 -19
- package/IMPLEMENTATION/RFC-0052/FILES.md +0 -8
- package/IMPLEMENTATION/RFC-0052/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0052/TESTS.md +0 -1
- package/IMPLEMENTATION/RFC-0053/ACCEPTANCE_CRITERIA.md +0 -8
- package/IMPLEMENTATION/RFC-0053/AI_BRIEF.md +0 -20
- package/IMPLEMENTATION/RFC-0053/FILES.md +0 -9
- package/IMPLEMENTATION/RFC-0053/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0053/TESTS.md +0 -1
- package/IMPLEMENTATION/RFC-0054/ACCEPTANCE_CRITERIA.md +0 -8
- package/IMPLEMENTATION/RFC-0054/AI_BRIEF.md +0 -19
- package/IMPLEMENTATION/RFC-0054/FILES.md +0 -8
- package/IMPLEMENTATION/RFC-0054/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0054/TESTS.md +0 -1
- package/IMPLEMENTATION/RFC-0055/ACCEPTANCE_CRITERIA.md +0 -8
- package/IMPLEMENTATION/RFC-0055/AI_BRIEF.md +0 -17
- package/IMPLEMENTATION/RFC-0055/FILES.md +0 -9
- package/IMPLEMENTATION/RFC-0055/TASKS.md +0 -3
- package/IMPLEMENTATION/RFC-0055/TESTS.md +0 -1
- package/IMPLEMENTATION/RFC-0056/ACCEPTANCE_CRITERIA.md +0 -6
- package/IMPLEMENTATION/RFC-0056/AI_BRIEF.md +0 -18
- package/IMPLEMENTATION/RFC-0056/FILES.md +0 -9
- package/IMPLEMENTATION/RFC-0056/TASKS.md +0 -9
- package/IMPLEMENTATION/RFC-0056/TESTS.md +0 -7
- package/IMPLEMENTATION/RFC-0057/ACCEPTANCE_CRITERIA.md +0 -5
- package/IMPLEMENTATION/RFC-0057/AI_BRIEF.md +0 -5
- package/IMPLEMENTATION/RFC-0057/FILES.md +0 -11
- package/IMPLEMENTATION/RFC-0057/TASKS.md +0 -9
- package/IMPLEMENTATION/RFC-0057/TESTS.md +0 -7
- package/IMPLEMENTATION/RFC-0058/ACCEPTANCE_CRITERIA.md +0 -6
- package/IMPLEMENTATION/RFC-0058/AI_BRIEF.md +0 -5
- package/IMPLEMENTATION/RFC-0058/FILES.md +0 -11
- package/IMPLEMENTATION/RFC-0058/TASKS.md +0 -9
- package/IMPLEMENTATION/RFC-0058/TESTS.md +0 -7
- package/IMPLEMENTATION/RFC-0059/ACCEPTANCE_CRITERIA.md +0 -6
- package/IMPLEMENTATION/RFC-0059/AI_BRIEF.md +0 -5
- package/IMPLEMENTATION/RFC-0059/FILES.md +0 -11
- package/IMPLEMENTATION/RFC-0059/TASKS.md +0 -9
- package/IMPLEMENTATION/RFC-0059/TESTS.md +0 -7
- package/IMPLEMENTATION/RFC-0060/ACCEPTANCE_CRITERIA.md +0 -7
- package/IMPLEMENTATION/RFC-0060/AI_BRIEF.md +0 -5
- package/IMPLEMENTATION/RFC-0060/FILES.md +0 -14
- package/IMPLEMENTATION/RFC-0060/TASKS.md +0 -12
- package/IMPLEMENTATION/RFC-0060/TESTS.md +0 -10
- package/IMPLEMENTATION/RFC-0061/ACCEPTANCE_CRITERIA.md +0 -1
- package/IMPLEMENTATION/RFC-0061/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0061/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0061/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0061/TESTS.md +0 -2
- package/IMPLEMENTATION/RFC-0062/ACCEPTANCE_CRITERIA.md +0 -1
- package/IMPLEMENTATION/RFC-0062/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0062/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0062/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0062/TESTS.md +0 -2
- package/IMPLEMENTATION/RFC-0063/ACCEPTANCE_CRITERIA.md +0 -1
- package/IMPLEMENTATION/RFC-0063/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0063/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0063/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0063/TESTS.md +0 -2
- package/IMPLEMENTATION/RFC-0064/ACCEPTANCE_CRITERIA.md +0 -1
- package/IMPLEMENTATION/RFC-0064/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0064/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0064/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0064/TESTS.md +0 -2
- package/IMPLEMENTATION/RFC-0065/ACCEPTANCE_CRITERIA.md +0 -1
- package/IMPLEMENTATION/RFC-0065/AI_BRIEF.md +0 -1
- package/IMPLEMENTATION/RFC-0065/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0065/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0065/TESTS.md +0 -2
- package/IMPLEMENTATION/RFC-0066/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0066/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0066/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0066/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0066/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0067/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0067/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0067/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0067/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0067/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0068/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0068/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0068/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0068/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0068/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0069/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0069/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0069/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0069/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0069/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0070/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0070/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0070/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0070/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0070/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0071/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0071/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0071/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0071/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0071/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0072/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0072/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0072/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0072/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0072/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0073/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0073/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0073/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0073/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0073/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0074/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0074/AI_BRIEF.md +0 -17
- package/IMPLEMENTATION/RFC-0074/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0074/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0074/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0075/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0075/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0075/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0075/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0075/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0076/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0076/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0076/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0076/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0076/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0077/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0077/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0077/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0077/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0077/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0078/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0078/AI_BRIEF.md +0 -17
- package/IMPLEMENTATION/RFC-0078/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0078/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0078/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0079/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0079/AI_BRIEF.md +0 -7
- package/IMPLEMENTATION/RFC-0079/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0079/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0079/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0080/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0080/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0080/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0080/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0080/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0081/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0081/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0081/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0081/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0081/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0082/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0082/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0082/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0082/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0082/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0083/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0083/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0083/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0083/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0083/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0084/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0084/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0084/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0084/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0084/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0085/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0085/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0085/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0085/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0085/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0086/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0086/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0086/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0086/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0086/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0087/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0087/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0087/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0087/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0087/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0088/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0088/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0088/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0088/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0088/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0089/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0089/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0089/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0089/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0089/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0090/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0090/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0090/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0090/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0090/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0091/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0091/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0091/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0091/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0091/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0092/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0092/AI_BRIEF.md +0 -20
- package/IMPLEMENTATION/RFC-0092/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0092/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0092/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0093/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0093/AI_BRIEF.md +0 -22
- package/IMPLEMENTATION/RFC-0093/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0093/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0093/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0094/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0094/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0094/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0094/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0094/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0095/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0095/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0095/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0095/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0095/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0096/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0096/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0096/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0096/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0096/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0097/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0097/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0097/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0097/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0097/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0098/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0098/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0098/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0098/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0098/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0099/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0099/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0099/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0099/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0099/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0100/ACCEPTANCE_CRITERIA.md +0 -2
- package/IMPLEMENTATION/RFC-0100/AI_BRIEF.md +0 -2
- package/IMPLEMENTATION/RFC-0100/FILES.md +0 -2
- package/IMPLEMENTATION/RFC-0100/TASKS.md +0 -4
- package/IMPLEMENTATION/RFC-0100/TESTS.md +0 -3
- package/IMPLEMENTATION/RFC-0101/ACCEPTANCE_CRITERIA.md +0 -74
- package/IMPLEMENTATION/RFC-0101/AI_BRIEF.md +0 -80
- package/IMPLEMENTATION/RFC-0101/FILES.md +0 -82
- package/IMPLEMENTATION/RFC-0101/TASKS.md +0 -92
- package/IMPLEMENTATION/RFC-0101/TESTS.md +0 -127
- package/IMPLEMENTATION/RFC-0102/ACCEPTANCE_CRITERIA.md +0 -33
- package/IMPLEMENTATION/RFC-0102/AI_BRIEF.md +0 -34
- package/IMPLEMENTATION/RFC-0102/FILES.md +0 -73
- package/IMPLEMENTATION/RFC-0102/TASKS.md +0 -75
- package/IMPLEMENTATION/RFC-0102/TESTS.md +0 -78
- package/IMPLEMENTATION/RFC-0103/ACCEPTANCE_CRITERIA.md +0 -45
- package/IMPLEMENTATION/RFC-0103/AI_BRIEF.md +0 -46
- package/IMPLEMENTATION/RFC-0103/FILES.md +0 -121
- package/IMPLEMENTATION/RFC-0103/TASKS.md +0 -97
- package/IMPLEMENTATION/RFC-0103/TESTS.md +0 -118
- package/IMPLEMENTATION/RFC-0104/ACCEPTANCE_CRITERIA.md +0 -29
- package/IMPLEMENTATION/RFC-0104/FILES.md +0 -33
- package/IMPLEMENTATION/RFC-0105/ACCEPTANCE_CRITERIA.md +0 -29
- package/IMPLEMENTATION/RFC-0105/FILES.md +0 -41
- package/IMPLEMENTATION/RFC-0106/ACCEPTANCE_CRITERIA.md +0 -29
- package/IMPLEMENTATION/RFC-0106/FILES.md +0 -43
- package/RFC/0001_LOOP_RUNTIME.md +0 -14
- package/RFC/0002_PROVIDER_ADAPTER.md +0 -3
- package/RFC/0003_QUOTA_MANAGER.md +0 -3
- package/RFC/0004_PLAYWRIGHT_ADAPTER.md +0 -3
- package/RFC/0005_GIT_WORKTREE.md +0 -3
- package/RFC/0006_CHECKPOINT_MANAGER.md +0 -56
- package/RFC/0007_SCHEDULER.md +0 -32
- package/RFC/0008_PROVIDER_ROUTER.md +0 -44
- package/RFC/0009_SHARED_CONTEXT.md +0 -32
- package/RFC/0010_CONTEXT_WINDOW_MANAGER.md +0 -50
- package/RFC/0011_SHARED_BLACKBOARD.md +0 -42
- package/RFC/0012_AGENT_HANDOFF_PROTOCOL.md +0 -41
- package/RFC/0013_E2E_TEST_ENGINE.md +0 -42
- package/RFC/0014_PROJECT_DETECTOR_AND_TEST_DATA_ENGINE.md +0 -35
- package/RFC/0015_JOB_STATE_MACHINE.md +0 -45
- package/RFC/0016_TASK_GRAPH.md +0 -31
- package/RFC/0017_MASTER_PLANNER.md +0 -32
- package/RFC/0018_REPAIR_ENGINE.md +0 -36
- package/RFC/0019_AUTO_COMPACT_AND_CONTINUE.md +0 -51
- package/RFC/0020_OUTPUT_TOKEN_LIMIT_HANDLER.md +0 -49
- package/RFC/0021_PARTIAL_RESPONSE_RECOVERY.md +0 -49
- package/RFC/0022_NOTIFICATION_CENTER.md +0 -47
- package/RFC/0023_LOCAL_BROWSER_AGENT.md +0 -67
- package/RFC/0024_LOCAL_RUNTIME_AGENT.md +0 -3
- package/RFC/0025_COMMAND_EXECUTOR.md +0 -3
- package/RFC/0026_WORKSPACE_MANAGER.md +0 -3
- package/RFC/0027_RUNTIME_API.md +0 -3
- package/RFC/0028_POLICY_ENGINE.md +0 -3
- package/RFC/0029_DEEPAGENTS_ADAPTER.md +0 -2
- package/RFC/0030_AGENT_WORKER_INTERFACE.md +0 -2
- package/RFC/0031_PROVIDER_ADAPTER_SDK.md +0 -171
- package/RFC/0032_CHECKPOINT_ENGINE.md +0 -217
- package/RFC/0033_SESSION_MANAGER.md +0 -262
- package/RFC/0034_OBSERVABILITY.md +0 -416
- package/RFC/0035_ROADMAP_V1.md +0 -295
- package/RFC/0036_CODE_REVIEW_ENGINE.md +0 -430
- package/RFC/0037_CODE_GENERATION_PIPELINE.md +0 -504
- package/RFC/0038_FRAMEWORK_DETECTOR.md +0 -466
- package/RFC/0039_TEST_DATA_GENERATOR.md +0 -504
- package/RFC/0040_FRAMEWORK_PLUGIN_SDK.md +0 -543
- package/RFC/0041_PROMPT_COMPILER.md +0 -232
- package/RFC/0042_CONTEXT_COMPILER.md +0 -216
- package/RFC/0043_REQUIREMENT_COMPILER.md +0 -211
- package/RFC/0044_TASK_COMPILER.md +0 -207
- package/RFC/0045_PROJECT_ANALYZER.md +0 -246
- package/RFC/0046_DEPENDENCY_ANALYZER.md +0 -14
- package/RFC/0047_REPOSITORY_KNOWLEDGE_GRAPH.md +0 -14
- package/RFC/0048_CODE_MERGE_ENGINE.md +0 -14
- package/RFC/0049_CONFLICT_RESOLUTION_ENGINE.md +0 -14
- package/RFC/0050_DOCUMENTATION_GENERATOR.md +0 -14
- package/RFC/0051_CAPABILITY_REGISTRY.md +0 -144
- package/RFC/0052_SKILL_REGISTRY.md +0 -167
- package/RFC/0053_MODEL_REGISTRY.md +0 -214
- package/RFC/0054_PROVIDER_ROUTER.md +0 -239
- package/RFC/0055_COST_OPTIMIZER.md +0 -285
- package/RFC/0056_PERFORMANCE_OPTIMIZER.md +0 -118
- package/RFC/0057_EVALUATION_ENGINE.md +0 -116
- package/RFC/0058_LEARNING_ENGINE.md +0 -113
- package/RFC/0059_EXPERIENCE_REPLAY.md +0 -107
- package/RFC/0060_MEMORY_ENGINE_OKF.md +0 -152
- package/RFC/0061_FRAPPE_PLUGIN.md +0 -9
- package/RFC/0062_NEXTJS_PLUGIN.md +0 -9
- package/RFC/0063_REACT_VITE_PLUGIN.md +0 -9
- package/RFC/0064_DJANGO_PLUGIN.md +0 -9
- package/RFC/0065_LARAVEL_PLUGIN.md +0 -9
- package/RFC/0066_GENERIC_WEB_PLUGIN.md +0 -24
- package/RFC/0067_CLI_PLUGIN_SDK.md +0 -101
- package/RFC/0068_MCP_ADAPTER.md +0 -114
- package/RFC/0069_GOOGLE_A2A_ADAPTER.md +0 -139
- package/RFC/0070_OPENAI_CODEX_ADAPTER.md +0 -134
- package/RFC/0071_REQUIREMENT_INTAKE.md +0 -95
- package/RFC/0072_PROJECT_BOOTSTRAP.md +0 -82
- package/RFC/0073_ARCHITECTURE_GENERATOR.md +0 -85
- package/RFC/0074_SPRINT_PLANNER.md +0 -61
- package/RFC/0075_MILESTONE_MANAGER.md +0 -58
- package/RFC/0076_BACKLOG_MANAGER.md +0 -24
- package/RFC/0077_HUMAN_APPROVAL_GATE.md +0 -24
- package/RFC/0078_RELEASE_MANAGER.md +0 -24
- package/RFC/0079_VERSION_MANAGER.md +0 -24
- package/RFC/0080_DEPLOYMENT_PIPELINE.md +0 -24
- package/RFC/0081_MULTI_USER_RUNTIME.md +0 -24
- package/RFC/0082_RBAC.md +0 -24
- package/RFC/0083_AUDIT_TRAIL.md +0 -24
- package/RFC/0084_DASHBOARD.md +0 -24
- package/RFC/0085_ANALYTICS.md +0 -24
- package/RFC/0086_DISTRIBUTED_RUNTIME.md +0 -24
- package/RFC/0087_CLUSTER_MANAGER.md +0 -24
- package/RFC/0088_RUNTIME_FEDERATION.md +0 -24
- package/RFC/0089_HIGH_AVAILABILITY.md +0 -24
- package/RFC/0090_DISASTER_RECOVERY.md +0 -24
- package/RFC/0091_AUTONOMOUS_ARCHITECTURE_REVIEW.md +0 -24
- package/RFC/0092_AUTONOMOUS_REFACTORING.md +0 -24
- package/RFC/0093_AUTONOMOUS_BUG_FIXING.md +0 -24
- package/RFC/0094_AUTONOMOUS_PERFORMANCE_TUNING.md +0 -24
- package/RFC/0095_AUTONOMOUS_SECURITY_REVIEW.md +0 -24
- package/RFC/0096_AUTONOMOUS_COST_OPTIMIZATION.md +0 -24
- package/RFC/0097_AUTONOMOUS_DOCUMENTATION.md +0 -24
- package/RFC/0098_AUTONOMOUS_KNOWLEDGE_MANAGEMENT.md +0 -24
- package/RFC/0099_RUNTIME_EVOLUTION_ENGINE.md +0 -24
- package/RFC/0100_SELF_DEVELOPING_RUNTIME.md +0 -24
- package/RFC/0101_AUTONOMOUS_OPERATIONS_RUNTIME.md +0 -1105
- package/RFC/0102_CONTEXT_ENGINEERING_PIPELINE.md +0 -508
- package/RFC/0103_SESSION_EVENT_RUNTIME_AGENT_COMMUNICATION_LAYER.md +0 -616
- package/RFC/0104_DISTRIBUTED_AGENT_COMMUNICATION.md +0 -143
- package/RFC/0105_DISTRIBUTED_KNOWLEDGE_RETRIEVAL.md +0 -301
- package/RFC/0106_KNOWLEDGE_GRAPH_PROVENANCE.md +0 -368
- package/RFC/README.md +0 -11
- package/packages/event-bus/dist/tsconfig.tsbuildinfo +0 -1
- package/packages/provider-adapter-sdk/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1,416 +0,0 @@
|
|
|
1
|
-
# RFC 0034: Observability
|
|
2
|
-
|
|
3
|
-
## Summary
|
|
4
|
-
|
|
5
|
-
A comprehensive observability system for monitoring, tracing, metrics collection, and alerting in the harness runtime.
|
|
6
|
-
|
|
7
|
-
## Motivation
|
|
8
|
-
|
|
9
|
-
Currently, observability is minimal with scattered logging. We need:
|
|
10
|
-
|
|
11
|
-
1. Structured logging with correlation IDs
|
|
12
|
-
2. Distributed tracing across components
|
|
13
|
-
3. Metrics collection and export
|
|
14
|
-
4. Health endpoints
|
|
15
|
-
5. Alerting system
|
|
16
|
-
6. Dashboard-ready data exports
|
|
17
|
-
|
|
18
|
-
## Architecture
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
+-----------------------------------------------------------------+
|
|
22
|
-
| Observability System |
|
|
23
|
-
+-----------------------------------------------------------------+
|
|
24
|
-
| +--------------+ +--------------+ +--------------+ |
|
|
25
|
-
| | Logger | | Tracer | | Metrics | |
|
|
26
|
-
| | (Structured| | (OpenTelemetry| | (Prometheus| |
|
|
27
|
-
| | Logging) | | Compatible)| | Format) | |
|
|
28
|
-
| +--------------+ +--------------+ +--------------+ |
|
|
29
|
-
+-----------------------------------------------------------------+
|
|
30
|
-
| +--------------+ +--------------+ +--------------+ |
|
|
31
|
-
| | Health | | Alerts | | Exporters | |
|
|
32
|
-
| | Monitor | | Engine | | (Prom/OTLP)| |
|
|
33
|
-
| +--------------+ +--------------+ +--------------+ |
|
|
34
|
-
+-----------------------------------------------------------------+
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Key Components
|
|
38
|
-
|
|
39
|
-
### 1. Logger
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
interface LoggerConfig {
|
|
43
|
-
level: LogLevel; // 'debug' | 'info' | 'warn' | 'error'
|
|
44
|
-
format: 'json' | 'pretty'; // Output format
|
|
45
|
-
output: 'stdout' | 'file' | 'both';
|
|
46
|
-
filePath?: string;
|
|
47
|
-
maxFileSize?: number; // Rotation size in bytes
|
|
48
|
-
maxFiles?: number; // Number of rotated files to keep
|
|
49
|
-
correlationIdHeader?: string; // Header name for correlation ID
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
|
|
53
|
-
|
|
54
|
-
interface LogEntry {
|
|
55
|
-
timestamp: string;
|
|
56
|
-
level: LogLevel;
|
|
57
|
-
message: string;
|
|
58
|
-
correlationId?: string;
|
|
59
|
-
traceId?: string;
|
|
60
|
-
spanId?: string;
|
|
61
|
-
jobId?: string;
|
|
62
|
-
taskId?: string;
|
|
63
|
-
component?: string;
|
|
64
|
-
durationMs?: number;
|
|
65
|
-
metadata?: Record<string, unknown>;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
class Logger {
|
|
69
|
-
constructor(config: LoggerConfig);
|
|
70
|
-
|
|
71
|
-
debug(message: string, meta?: object): void;
|
|
72
|
-
info(message: string, meta?: object): void;
|
|
73
|
-
warn(message: string, meta?: object): void;
|
|
74
|
-
error(message: string, error?: Error, meta?: object): void;
|
|
75
|
-
fatal(message: string, error?: Error, meta?: object): void;
|
|
76
|
-
|
|
77
|
-
// Child logger with defaults
|
|
78
|
-
child(defaults: Partial<LogEntry>): Logger;
|
|
79
|
-
|
|
80
|
-
// Correlation
|
|
81
|
-
withCorrelationId(id: string): Logger;
|
|
82
|
-
withJob(jobId: string): Logger;
|
|
83
|
-
withTask(taskId: string): Logger;
|
|
84
|
-
}
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### 2. Tracer (OpenTelemetry Compatible)
|
|
88
|
-
|
|
89
|
-
```typescript
|
|
90
|
-
interface TracerConfig {
|
|
91
|
-
serviceName: string;
|
|
92
|
-
exporter: 'console' | 'otlp' | 'jaeger';
|
|
93
|
-
endpoint?: string;
|
|
94
|
-
sampleRate: number; // 0-1, percentage to sample
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
interface Span {
|
|
98
|
-
name: string;
|
|
99
|
-
traceId: string;
|
|
100
|
-
spanId: string;
|
|
101
|
-
parentSpanId?: string;
|
|
102
|
-
startTime: number;
|
|
103
|
-
endTime?: number;
|
|
104
|
-
status: 'ok' | 'error';
|
|
105
|
-
attributes: Record<string, string | number | boolean>;
|
|
106
|
-
events: SpanEvent[];
|
|
107
|
-
links: SpanLink[];
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
interface SpanEvent {
|
|
111
|
-
name: string;
|
|
112
|
-
timestamp: number;
|
|
113
|
-
attributes?: Record<string, string>;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
interface SpanLink {
|
|
117
|
-
traceId: string;
|
|
118
|
-
spanId: string;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
class Tracer {
|
|
122
|
-
constructor(config: TracerConfig);
|
|
123
|
-
|
|
124
|
-
startSpan(name: string, options?: StartSpanOptions): SpanHandle;
|
|
125
|
-
recordException(span: SpanHandle, error: Error): void;
|
|
126
|
-
addEvent(span: SpanHandle, name: string, attributes?: object): void;
|
|
127
|
-
getCurrentSpan(): SpanHandle | null;
|
|
128
|
-
|
|
129
|
-
// Async wrapper
|
|
130
|
-
trace<T>(name: string, fn: () => Promise<T>): Promise<T>;
|
|
131
|
-
trace<T>(name: string, options: SpanOptions, fn: () => Promise<T>): Promise<T>;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
interface SpanHandle {
|
|
135
|
-
end(): void;
|
|
136
|
-
setStatus(status: 'ok' | 'error'): void;
|
|
137
|
-
setAttribute(key: string, value: string | number | boolean): void;
|
|
138
|
-
addEvent(name: string, attributes?: object): void;
|
|
139
|
-
recordException(error: Error): void;
|
|
140
|
-
}
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
### 3. Metrics Collector
|
|
144
|
-
|
|
145
|
-
```typescript
|
|
146
|
-
interface MetricsConfig {
|
|
147
|
-
serviceName: string;
|
|
148
|
-
defaultLabels: Record<string, string>;
|
|
149
|
-
exportInterval: number; // How often to flush metrics
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
class Metrics {
|
|
153
|
-
constructor(config: MetricsConfig);
|
|
154
|
-
|
|
155
|
-
// Counters
|
|
156
|
-
counter(name: string, help: string, labels?: string[]): Counter;
|
|
157
|
-
increment(name: string, value?: number, labels?: Labels): void;
|
|
158
|
-
|
|
159
|
-
// Gauges
|
|
160
|
-
gauge(name: string, help: string, labels?: string[]): Gauge;
|
|
161
|
-
set(name: string, value: number, labels?: Labels): void;
|
|
162
|
-
|
|
163
|
-
// Histograms
|
|
164
|
-
histogram(name: string, help: string, buckets?: number[], labels?: string[]): Histogram;
|
|
165
|
-
observe(name: string, value: number, labels?: Labels): void;
|
|
166
|
-
|
|
167
|
-
// Summaries
|
|
168
|
-
summary(name: string, help: string, labels?: string[]): Summary;
|
|
169
|
-
|
|
170
|
-
// Timing helpers
|
|
171
|
-
timer(name: string, labels?: Labels): () => void;
|
|
172
|
-
asyncTimer<T>(name: string, fn: () => Promise<T>, labels?: Labels): Promise<T>;
|
|
173
|
-
|
|
174
|
-
// Export
|
|
175
|
-
async export(): Promise<MetricsSnapshot>;
|
|
176
|
-
async exportPrometheus(): Promise<string>;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
// Built-in metrics
|
|
180
|
-
interface BuiltInMetrics {
|
|
181
|
-
// Job metrics
|
|
182
|
-
'harness_jobs_total': Counter; // Total jobs created
|
|
183
|
-
'harness_jobs_active': Gauge; // Currently active jobs
|
|
184
|
-
'harness_jobs_completed': Counter; // Completed jobs
|
|
185
|
-
'harness_jobs_failed': Counter; // Failed jobs
|
|
186
|
-
|
|
187
|
-
// Task metrics
|
|
188
|
-
'harness_tasks_total': Counter; // Total tasks created
|
|
189
|
-
'harness_tasks_duration_seconds': Histogram; // Task duration
|
|
190
|
-
'harness_tasks_retries_total': Counter; // Task retry count
|
|
191
|
-
|
|
192
|
-
// Provider metrics
|
|
193
|
-
'harness_provider_requests_total': Counter;
|
|
194
|
-
'harness_provider_errors_total': Counter;
|
|
195
|
-
'harness_provider_latency_seconds': Histogram;
|
|
196
|
-
'harness_provider_tokens_total': Counter;
|
|
197
|
-
|
|
198
|
-
// Session metrics
|
|
199
|
-
'harness_sessions_active': Gauge;
|
|
200
|
-
'harness_sessions_tokens_total': Counter;
|
|
201
|
-
}
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
### 4. Health Monitor
|
|
205
|
-
|
|
206
|
-
```typescript
|
|
207
|
-
interface HealthCheck {
|
|
208
|
-
name: string;
|
|
209
|
-
check: () => Promise<HealthResult>;
|
|
210
|
-
critical: boolean;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
interface HealthResult {
|
|
214
|
-
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
215
|
-
message?: string;
|
|
216
|
-
details?: Record<string, unknown>;
|
|
217
|
-
timestamp: string;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
class HealthMonitor {
|
|
221
|
-
constructor();
|
|
222
|
-
|
|
223
|
-
registerHealthCheck(check: HealthCheck): void;
|
|
224
|
-
unregisterHealthCheck(name: string): void;
|
|
225
|
-
|
|
226
|
-
async checkHealth(): Promise<HealthReport>;
|
|
227
|
-
async checkLiveness(): Promise<HealthResult>; // K8s liveness probe
|
|
228
|
-
async checkReadiness(): Promise<HealthResult>; // K8s readiness probe
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
interface HealthReport {
|
|
232
|
-
overall: 'healthy' | 'degraded' | 'unhealthy';
|
|
233
|
-
version: string;
|
|
234
|
-
uptime: number;
|
|
235
|
-
checks: Record<string, HealthResult>;
|
|
236
|
-
timestamp: string;
|
|
237
|
-
}
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### 5. Alerting Engine
|
|
241
|
-
|
|
242
|
-
```typescript
|
|
243
|
-
interface AlertRule {
|
|
244
|
-
name: string;
|
|
245
|
-
condition: AlertCondition;
|
|
246
|
-
severity: 'info' | 'warning' | 'critical';
|
|
247
|
-
cooldown: number; // Minimum time between alerts
|
|
248
|
-
actions: AlertAction[];
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
type AlertCondition =
|
|
252
|
-
| { type: 'threshold'; metric: string; op: '>' | '<' | '=='; value: number }
|
|
253
|
-
| { type: 'rate'; metric: string; window: number; threshold: number }
|
|
254
|
-
| { type: 'error_rate'; component: string; threshold: number };
|
|
255
|
-
|
|
256
|
-
type AlertAction =
|
|
257
|
-
| { type: 'log'; level: LogLevel }
|
|
258
|
-
| { type: 'notify'; channel: string; message: string }
|
|
259
|
-
| { type: 'webhook'; url: string }
|
|
260
|
-
| { type: 'execute'; command: string };
|
|
261
|
-
|
|
262
|
-
class AlertEngine {
|
|
263
|
-
constructor();
|
|
264
|
-
|
|
265
|
-
registerRule(rule: AlertRule): void;
|
|
266
|
-
unregisterRule(name: string): void;
|
|
267
|
-
|
|
268
|
-
evaluate(): Promise<Alert[]>;
|
|
269
|
-
triggerAlert(alert: Alert): Promise<void>;
|
|
270
|
-
getActiveAlerts(): Alert[];
|
|
271
|
-
getAlertHistory(): Alert[];
|
|
272
|
-
}
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
## File Structure
|
|
276
|
-
|
|
277
|
-
```
|
|
278
|
-
packages/observability/
|
|
279
|
-
+-- src/
|
|
280
|
-
| +-- index.ts # Public exports
|
|
281
|
-
| +-- logger.ts # Structured logger
|
|
282
|
-
| +-- tracer.ts # Distributed tracer
|
|
283
|
-
| +-- metrics.ts # Metrics collector
|
|
284
|
-
| +-- health.ts # Health monitor
|
|
285
|
-
| +-- alerts.ts # Alerting engine
|
|
286
|
-
| +-- exporters/
|
|
287
|
-
| | +-- prometheus.ts # Prometheus exporter
|
|
288
|
-
| | +-- otlp.ts # OTLP exporter
|
|
289
|
-
| +-- middleware.ts # Express/HTTP middleware
|
|
290
|
-
| +-- types.ts # Types
|
|
291
|
-
| +-- errors.ts
|
|
292
|
-
+-- test/
|
|
293
|
-
+-- examples/
|
|
294
|
-
+-- package.json
|
|
295
|
-
+-- README.md
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
## Usage Examples
|
|
299
|
-
|
|
300
|
-
### Structured Logging
|
|
301
|
-
|
|
302
|
-
```typescript
|
|
303
|
-
import { createLogger } from '@pi/observability';
|
|
304
|
-
|
|
305
|
-
const logger = createLogger({
|
|
306
|
-
level: 'info',
|
|
307
|
-
format: 'json',
|
|
308
|
-
output: 'both',
|
|
309
|
-
filePath: './logs/harness.log'
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
const jobLogger = logger.withJob('job-123');
|
|
313
|
-
jobLogger.info('Job started', { requirement: 'Build a web app' });
|
|
314
|
-
|
|
315
|
-
// Output: {"timestamp":"...","level":"info","message":"Job started","jobId":"job-123","requirement":"Build a web app","traceId":"..."}
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
### Distributed Tracing
|
|
319
|
-
|
|
320
|
-
```typescript
|
|
321
|
-
import { createTracer } from '@pi/observability';
|
|
322
|
-
|
|
323
|
-
const tracer = createTracer({
|
|
324
|
-
serviceName: 'harness-runtime',
|
|
325
|
-
exporter: 'otlp',
|
|
326
|
-
endpoint: 'http://localhost:4318'
|
|
327
|
-
});
|
|
328
|
-
|
|
329
|
-
const result = await tracer.trace('processJob', async (span) => {
|
|
330
|
-
span.setAttribute('jobId', 'job-123');
|
|
331
|
-
|
|
332
|
-
await tracer.trace('planTasks', async () => {
|
|
333
|
-
// ...
|
|
334
|
-
});
|
|
335
|
-
|
|
336
|
-
return result;
|
|
337
|
-
});
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
### Metrics Collection
|
|
341
|
-
|
|
342
|
-
```typescript
|
|
343
|
-
import { createMetrics } from '@pi/observability';
|
|
344
|
-
|
|
345
|
-
const metrics = createMetrics({ serviceName: 'harness-runtime' });
|
|
346
|
-
|
|
347
|
-
// Record task duration
|
|
348
|
-
const endTimer = metrics.asyncTimer('task_duration', { taskType: 'code' });
|
|
349
|
-
await executeTask();
|
|
350
|
-
endTimer();
|
|
351
|
-
|
|
352
|
-
// Check metrics
|
|
353
|
-
const snapshot = await metrics.exportPrometheus();
|
|
354
|
-
// # HELP harness_task_duration_seconds Task duration
|
|
355
|
-
// # TYPE harness_task_duration_seconds histogram
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
### Health Checks
|
|
359
|
-
|
|
360
|
-
```typescript
|
|
361
|
-
const health = new HealthMonitor();
|
|
362
|
-
|
|
363
|
-
health.registerHealthCheck({
|
|
364
|
-
name: 'providers',
|
|
365
|
-
critical: true,
|
|
366
|
-
check: async () => {
|
|
367
|
-
const providers = await checkProviderHealth();
|
|
368
|
-
return providers.length > 0
|
|
369
|
-
? { status: 'healthy' }
|
|
370
|
-
: { status: 'unhealthy', message: 'No providers available' };
|
|
371
|
-
}
|
|
372
|
-
});
|
|
373
|
-
|
|
374
|
-
// K8s endpoints
|
|
375
|
-
app.get('/health/liveness', async (req, res) => {
|
|
376
|
-
const result = await health.checkLiveness();
|
|
377
|
-
res.status(result.status === 'healthy' ? 200 : 503).json(result);
|
|
378
|
-
});
|
|
379
|
-
|
|
380
|
-
app.get('/health/readiness', async (req, res) => {
|
|
381
|
-
const result = await health.checkReadiness();
|
|
382
|
-
res.status(result.status === 'healthy' ? 200 : 503).json(result);
|
|
383
|
-
});
|
|
384
|
-
```
|
|
385
|
-
|
|
386
|
-
## Integration
|
|
387
|
-
|
|
388
|
-
```
|
|
389
|
-
+-------------+ +--------------+ +-------------+
|
|
390
|
-
| Harness |---->| Observability |---->| Prometheus |
|
|
391
|
-
| Runtime | | Package | | Server |
|
|
392
|
-
+-------------+ +--------------+ +-------------+
|
|
393
|
-
|
|
|
394
|
-
▼
|
|
395
|
-
+--------------+
|
|
396
|
-
| Grafana |
|
|
397
|
-
| Dashboard |
|
|
398
|
-
+--------------+
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
## Acceptance Criteria
|
|
402
|
-
|
|
403
|
-
1. ✅ All log entries include correlation IDs for tracing
|
|
404
|
-
2. ✅ Tracer supports OpenTelemetry protocol
|
|
405
|
-
3. ✅ Metrics export in Prometheus format
|
|
406
|
-
4. ✅ Health endpoints for Kubernetes probes
|
|
407
|
-
5. ✅ Alert rules can trigger on metric thresholds
|
|
408
|
-
6. ✅ Logs are structured JSON with required fields
|
|
409
|
-
7. ✅ Performance overhead < 5% for logging/tracing
|
|
410
|
-
|
|
411
|
-
## Dependencies
|
|
412
|
-
|
|
413
|
-
- `packages/types` - for runtime-types
|
|
414
|
-
- Optional: `@opentelemetry/sdk-node` - OTLP export
|
|
415
|
-
- Optional: `prom-client` - Prometheus format
|
|
416
|
-
- No required external dependencies
|
package/RFC/0035_ROADMAP_V1.md
DELETED
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
# RFC 0035: Roadmap V1
|
|
2
|
-
|
|
3
|
-
## Summary
|
|
4
|
-
|
|
5
|
-
A structured roadmap for implementing RFCs 0031-0040, including dependencies, priorities, and milestones.
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
Phase 1: Foundation Phase 2: Core Systems Phase 3: Advanced Features
|
|
11
|
-
----------------- -------------------- -------------------------
|
|
12
|
-
• RFC-0031: Adapter SDK • RFC-0032: Checkpoint Engine • RFC-0036: Code Review Engine
|
|
13
|
-
• RFC-0034: Observability • RFC-0033: Session Manager • RFC-0037: Code Generation Pipeline
|
|
14
|
-
• RFC-0034: Observability • RFC-0038: Framework Detector
|
|
15
|
-
• RFC-0039: Test Data Generator
|
|
16
|
-
• RFC-0040: Framework Plugin SDK
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Implementation Order & Dependencies
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
RFC-0031 (Adapter SDK) --+--► RFC-0036 (Code Review Engine)
|
|
23
|
-
|
|
|
24
|
-
RFC-0032 (Checkpoint) ◄--+
|
|
25
|
-
|
|
|
26
|
-
RFC-0033 (Session) ◄-----+--► RFC-0034 (Observability)
|
|
27
|
-
|
|
|
28
|
-
RFC-0034 (Observability) ◄+
|
|
29
|
-
|
|
30
|
-
RFC-0038 (Framework Detector) --+--► RFC-0039 (Test Data Generator)
|
|
31
|
-
|
|
|
32
|
-
RFC-0037 (Code Generation) ◄-----+
|
|
33
|
-
|
|
|
34
|
-
RFC-0040 (Plugin SDK) ◄----------+
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Detailed Timeline
|
|
38
|
-
|
|
39
|
-
### Phase 1: Foundation (Weeks 1-2)
|
|
40
|
-
|
|
41
|
-
#### Week 1: RFC-0031 Provider Adapter SDK
|
|
42
|
-
|
|
43
|
-
**Goal:** Standardized adapter development
|
|
44
|
-
|
|
45
|
-
| Task | Description | Estimate |
|
|
46
|
-
| ------ | ------------- | ---------- |
|
|
47
|
-
| T1.1 | Design AdapterBuilder API | 2 days |
|
|
48
|
-
| T1.2 | Implement AdapterRegistry | 2 days |
|
|
49
|
-
| T1.3 | Create AdapterTester utilities | 2 days |
|
|
50
|
-
| T1.4 | Migrate existing adapters | 1 day |
|
|
51
|
-
|
|
52
|
-
**Deliverables:**
|
|
53
|
-
|
|
54
|
-
- `packages/provider-adapter-sdk/src/`
|
|
55
|
-
- Working Builder pattern for adapters
|
|
56
|
-
- Test utilities for adapter validation
|
|
57
|
-
|
|
58
|
-
#### Week 2: RFC-0034 Observability
|
|
59
|
-
|
|
60
|
-
**Goal:** Full observability stack
|
|
61
|
-
|
|
62
|
-
| Task | Description | Estimate |
|
|
63
|
-
| ------ | ------------- | ---------- |
|
|
64
|
-
| T2.1 | Implement Logger with correlation IDs | 2 days |
|
|
65
|
-
| T2.2 | Implement Tracer (OpenTelemetry compatible) | 2 days |
|
|
66
|
-
| T2.3 | Implement Metrics collector | 2 days |
|
|
67
|
-
| T2.4 | Health monitor & alerting | 1 day |
|
|
68
|
-
| T2.5 | Prometheus exporter | 1 day |
|
|
69
|
-
|
|
70
|
-
**Deliverables:**
|
|
71
|
-
|
|
72
|
-
- `packages/observability/src/`
|
|
73
|
-
- Structured JSON logging
|
|
74
|
-
- Distributed tracing support
|
|
75
|
-
- Prometheus metrics endpoint
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
### Phase 2: Core Systems (Weeks 3-5)
|
|
80
|
-
|
|
81
|
-
#### Week 3: RFC-0032 Checkpoint Engine
|
|
82
|
-
|
|
83
|
-
**Goal:** Enhanced checkpoint system
|
|
84
|
-
|
|
85
|
-
| Task | Description | Estimate |
|
|
86
|
-
| ------ | ------------- | ---------- |
|
|
87
|
-
| T3.1 | Implement incremental diff storage | 2 days |
|
|
88
|
-
| T3.2 | Add compression (gzip) | 1 day |
|
|
89
|
-
| T3.3 | Implement recovery strategies | 2 days |
|
|
90
|
-
| T3.4 | Add checksum verification | 1 day |
|
|
91
|
-
| T3.5 | Auto-pruning logic | 1 day |
|
|
92
|
-
|
|
93
|
-
**Deliverables:**
|
|
94
|
-
|
|
95
|
-
- Enhanced `packages/checkpoint/`
|
|
96
|
-
- 60%+ storage reduction
|
|
97
|
-
- Sub-100ms recovery times
|
|
98
|
-
|
|
99
|
-
#### Week 4: RFC-0033 Session Manager
|
|
100
|
-
|
|
101
|
-
**Goal:** Comprehensive session management
|
|
102
|
-
|
|
103
|
-
| Task | Description | Estimate |
|
|
104
|
-
| ------ | ------------- | ---------- |
|
|
105
|
-
| T4.1 | Implement Session store | 2 days |
|
|
106
|
-
| T4.2 | Message history management | 2 days |
|
|
107
|
-
| T4.3 | Session policy engine | 2 days |
|
|
108
|
-
| T4.4 | Metrics collection | 1 day |
|
|
109
|
-
| T4.5 | Integration with checkpoint | 1 day |
|
|
110
|
-
|
|
111
|
-
**Deliverables:**
|
|
112
|
-
|
|
113
|
-
- `packages/session/src/`
|
|
114
|
-
- Session persistence across restarts
|
|
115
|
-
- Token accounting per session
|
|
116
|
-
|
|
117
|
-
#### Week 5: Integration & Testing
|
|
118
|
-
|
|
119
|
-
**Goal:** Ensure all foundation components work together
|
|
120
|
-
|
|
121
|
-
| Task | Description | Estimate |
|
|
122
|
-
|------|-------------|----------|
|
|
123
|
-
| T5.1 | Integration tests | 3 days |
|
|
124
|
-
| T5.2 | Performance benchmarks | 1 day |
|
|
125
|
-
| T5.3 | Documentation | 1 day |
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
### Phase 3: Advanced Features (Weeks 6-10)
|
|
130
|
-
|
|
131
|
-
#### Week 6-7: RFC-0036 Code Review Engine
|
|
132
|
-
|
|
133
|
-
**Goal:** Automated code review pipeline
|
|
134
|
-
|
|
135
|
-
| Task | Description | Estimate |
|
|
136
|
-
| ------ | ------------- | ---------- |
|
|
137
|
-
| T6.1 | Design review criteria DSL | 2 days |
|
|
138
|
-
| T6.2 | Implement static analysis adapters | 2 days |
|
|
139
|
-
| T6.3 | Build review aggregator | 2 days |
|
|
140
|
-
| T6.4 | Integrate with AgentWorker | 2 days |
|
|
141
|
-
|
|
142
|
-
**Deliverables:**
|
|
143
|
-
|
|
144
|
-
- `packages/code-review/`
|
|
145
|
-
- Configurable review rules
|
|
146
|
-
- Linter integration
|
|
147
|
-
- AI-powered review suggestions
|
|
148
|
-
|
|
149
|
-
#### Week 7-8: RFC-0037 Code Generation Pipeline
|
|
150
|
-
|
|
151
|
-
**Goal:** Automated code generation with validation
|
|
152
|
-
|
|
153
|
-
| Task | Description | Estimate |
|
|
154
|
-
| ------ | ------------- | ---------- |
|
|
155
|
-
| T7.1 | Design generation template system | 2 days |
|
|
156
|
-
| T7.2 | Implement template engine | 2 days |
|
|
157
|
-
| T7.3 | Build validation pipeline | 2 days |
|
|
158
|
-
| T7.4 | Add rollback mechanisms | 1 day |
|
|
159
|
-
| T7.5 | Integrate with framework detector | 1 day |
|
|
160
|
-
|
|
161
|
-
**Deliverables:**
|
|
162
|
-
|
|
163
|
-
- `packages/code-generation/`
|
|
164
|
-
- Template-based generation
|
|
165
|
-
- Post-generation validation
|
|
166
|
-
- Rollback on failure
|
|
167
|
-
|
|
168
|
-
#### Week 8-9: RFC-0038 Framework Detector
|
|
169
|
-
|
|
170
|
-
**Goal:** Detect project frameworks automatically
|
|
171
|
-
|
|
172
|
-
| Task | Description | Estimate |
|
|
173
|
-
| ------ | ------------- | ---------- |
|
|
174
|
-
| T8.1 | Implement detection signals | 2 days |
|
|
175
|
-
| T8.2 | Build confidence scoring | 1 day |
|
|
176
|
-
| T8.3 | Add Frappe/ERPNext detection | 2 days |
|
|
177
|
-
| T8.4 | Add Next.js/React detection | 2 days |
|
|
178
|
-
| T8.5 | Add Django/Laravel detection | 1 day |
|
|
179
|
-
|
|
180
|
-
**Deliverables:**
|
|
181
|
-
|
|
182
|
-
- `packages/framework-detector/`
|
|
183
|
-
- Multi-framework support
|
|
184
|
-
- Signal-based detection
|
|
185
|
-
- Confidence scoring
|
|
186
|
-
|
|
187
|
-
#### Week 9-10: RFC-0039 Test Data Generator & RFC-0040 Plugin SDK
|
|
188
|
-
|
|
189
|
-
##### RFC-0039: Test Data Generator
|
|
190
|
-
|
|
191
|
-
| Task | Description | Estimate |
|
|
192
|
-
| ------ | ------------- | ---------- |
|
|
193
|
-
| T9.1 | Design data generation DSL | 1 day |
|
|
194
|
-
| T9.2 | Implement faker adapters | 2 days |
|
|
195
|
-
| T9.3 | Framework-specific generators | 2 days |
|
|
196
|
-
| T9.4 | Integration with E2E engine | 1 day |
|
|
197
|
-
|
|
198
|
-
##### RFC-0040: Framework Plugin SDK
|
|
199
|
-
|
|
200
|
-
| Task | Description | Estimate |
|
|
201
|
-
| ------ | ------------- | ---------- |
|
|
202
|
-
| T10.1 | Design plugin interface | 1 day |
|
|
203
|
-
| T10.2 | Implement plugin loader | 2 days |
|
|
204
|
-
| T10.3 | Create plugin registry | 1 day |
|
|
205
|
-
| T10.4 | Add sandboxing/security | 2 days |
|
|
206
|
-
| T10.5 | Write plugin examples | 1 day |
|
|
207
|
-
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
## Resource Allocation
|
|
211
|
-
|
|
212
|
-
| Phase | Team Size | Focus |
|
|
213
|
-
| ------- | ----------- | ------- |
|
|
214
|
-
| Phase 1 | 1-2 | Foundation packages |
|
|
215
|
-
| Phase 2 | 2 | Core systems + integration |
|
|
216
|
-
| Phase 3 | 2-3 | Advanced features |
|
|
217
|
-
|
|
218
|
-
## Risk Mitigation
|
|
219
|
-
|
|
220
|
-
| Risk | Impact | Mitigation |
|
|
221
|
-
| ------ | -------- | ------------ |
|
|
222
|
-
| Framework detection accuracy | Medium | Iterative improvement with signal weighting |
|
|
223
|
-
| Plugin security | High | Sandboxing + permission model |
|
|
224
|
-
| Performance overhead | Low | Benchmarks in each PR |
|
|
225
|
-
| Integration complexity | Medium | Weekly integration tests |
|
|
226
|
-
|
|
227
|
-
## Success Metrics
|
|
228
|
-
|
|
229
|
-
| Metric | Target |
|
|
230
|
-
| -------- | -------- |
|
|
231
|
-
| Checkpoint storage reduction | >60% |
|
|
232
|
-
| Recovery time | <100ms |
|
|
233
|
-
| Session restore success rate | >99% |
|
|
234
|
-
| Framework detection accuracy | >90% |
|
|
235
|
-
| Code review coverage | Configurable rules |
|
|
236
|
-
| Plugin load time | <500ms |
|
|
237
|
-
|
|
238
|
-
## Files to Create
|
|
239
|
-
|
|
240
|
-
```
|
|
241
|
-
packages/
|
|
242
|
-
+-- provider-adapter-sdk/ # RFC-0031
|
|
243
|
-
| +-- src/
|
|
244
|
-
| +-- test/
|
|
245
|
-
| +-- package.json
|
|
246
|
-
+-- observability/ # RFC-0034
|
|
247
|
-
| +-- src/
|
|
248
|
-
| +-- test/
|
|
249
|
-
| +-- package.json
|
|
250
|
-
+-- checkpoint/ # RFC-0032 (enhanced)
|
|
251
|
-
| +-- src/
|
|
252
|
-
| +-- package.json
|
|
253
|
-
+-- session/ # RFC-0033
|
|
254
|
-
| +-- src/
|
|
255
|
-
| +-- test/
|
|
256
|
-
| +-- package.json
|
|
257
|
-
+-- code-review/ # RFC-0036
|
|
258
|
-
| +-- src/
|
|
259
|
-
| +-- test/
|
|
260
|
-
| +-- package.json
|
|
261
|
-
+-- code-generation/ # RFC-0037
|
|
262
|
-
| +-- src/
|
|
263
|
-
| +-- test/
|
|
264
|
-
| +-- package.json
|
|
265
|
-
+-- framework-detector/ # RFC-0038
|
|
266
|
-
| +-- src/
|
|
267
|
-
| +-- test/
|
|
268
|
-
| +-- package.json
|
|
269
|
-
+-- test-data-generator/ # RFC-0039
|
|
270
|
-
| +-- src/
|
|
271
|
-
| +-- test/
|
|
272
|
-
| +-- package.json
|
|
273
|
-
+-- framework-plugin-sdk/ # RFC-0040
|
|
274
|
-
+-- src/
|
|
275
|
-
+-- test/
|
|
276
|
-
+-- package.json
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
## Implementation Checklist
|
|
280
|
-
|
|
281
|
-
- [ ] Phase 1 Complete
|
|
282
|
-
- [ ] RFC-0031 Provider Adapter SDK
|
|
283
|
-
- [ ] RFC-0034 Observability
|
|
284
|
-
- [ ] Phase 2 Complete
|
|
285
|
-
- [ ] RFC-0032 Checkpoint Engine
|
|
286
|
-
- [ ] RFC-0033 Session Manager
|
|
287
|
-
- [ ] Integration tests passing
|
|
288
|
-
- [ ] Phase 3 Complete
|
|
289
|
-
- [ ] RFC-0036 Code Review Engine
|
|
290
|
-
- [ ] RFC-0037 Code Generation Pipeline
|
|
291
|
-
- [ ] RFC-0038 Framework Detector
|
|
292
|
-
- [ ] RFC-0039 Test Data Generator
|
|
293
|
-
- [ ] RFC-0040 Framework Plugin SDK
|
|
294
|
-
- [ ] Documentation complete
|
|
295
|
-
- [ ] Performance benchmarks meet targets
|