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,207 +0,0 @@
|
|
|
1
|
-
# RFC-0044 — Task Compiler
|
|
2
|
-
|
|
3
|
-
Status: Draft
|
|
4
|
-
Target package: `packages/task-compiler`
|
|
5
|
-
Depends on: Compiled Requirement, Project Analyzer, Dependency Analyzer
|
|
6
|
-
|
|
7
|
-
## 1. Problem
|
|
8
|
-
|
|
9
|
-
A requirement is not directly executable. The runtime needs small, dependency-aware tasks with clear inputs, outputs, permissions, verification, and handoff contracts.
|
|
10
|
-
|
|
11
|
-
The Task Compiler produces a deterministic task DAG from a compiled requirement and project analysis.
|
|
12
|
-
|
|
13
|
-
## 2. Task contract
|
|
14
|
-
|
|
15
|
-
```ts
|
|
16
|
-
export interface CompiledTask {
|
|
17
|
-
id: string;
|
|
18
|
-
jobId: string;
|
|
19
|
-
title: string;
|
|
20
|
-
objective: string;
|
|
21
|
-
type:
|
|
22
|
-
| "analysis"
|
|
23
|
-
| "implementation"
|
|
24
|
-
| "test"
|
|
25
|
-
| "review"
|
|
26
|
-
| "repair"
|
|
27
|
-
| "documentation";
|
|
28
|
-
dependencies: string[];
|
|
29
|
-
filesInScope: string[];
|
|
30
|
-
expectedOutputs: TaskOutput[];
|
|
31
|
-
acceptanceCriteria: string[];
|
|
32
|
-
requiredCapabilities: string[];
|
|
33
|
-
permittedCommands: string[];
|
|
34
|
-
prohibitedCommands: string[];
|
|
35
|
-
preferredProvider?: ProviderTarget;
|
|
36
|
-
estimatedComplexity: 1 | 2 | 3 | 5 | 8;
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## 3. Decomposition policy
|
|
41
|
-
|
|
42
|
-
A task should be split when:
|
|
43
|
-
|
|
44
|
-
- It requires different agent capabilities.
|
|
45
|
-
- It spans unrelated modules.
|
|
46
|
-
- It cannot be verified with one coherent test set.
|
|
47
|
-
- It mixes destructive operations with ordinary edits.
|
|
48
|
-
- It is estimated above the configured complexity threshold.
|
|
49
|
-
- It has outputs that can proceed independently.
|
|
50
|
-
|
|
51
|
-
A task should not be split solely to increase task count.
|
|
52
|
-
|
|
53
|
-
## 4. Standard engineering flow
|
|
54
|
-
|
|
55
|
-
```text
|
|
56
|
-
analyze
|
|
57
|
-
-> design or schema check
|
|
58
|
-
-> implement
|
|
59
|
-
-> unit test
|
|
60
|
-
-> E2E test when applicable
|
|
61
|
-
-> review
|
|
62
|
-
-> repair if failed
|
|
63
|
-
-> documentation
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
The Task Compiler may omit stages only when project policy explicitly allows it.
|
|
67
|
-
|
|
68
|
-
## 5. Dependency graph
|
|
69
|
-
|
|
70
|
-
The compiler must reject cycles.
|
|
71
|
-
|
|
72
|
-
```ts
|
|
73
|
-
export interface TaskGraph {
|
|
74
|
-
jobId: string;
|
|
75
|
-
tasks: CompiledTask[];
|
|
76
|
-
roots: string[];
|
|
77
|
-
terminalTasks: string[];
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Topological order must be reproducible. When multiple tasks are ready, order by:
|
|
82
|
-
|
|
83
|
-
1. Explicit priority
|
|
84
|
-
2. Dependency depth
|
|
85
|
-
3. Task ID
|
|
86
|
-
|
|
87
|
-
## 6. File ownership
|
|
88
|
-
|
|
89
|
-
Parallel implementation tasks must not modify overlapping files unless the Worktree and Merge Engine explicitly support it.
|
|
90
|
-
|
|
91
|
-
```ts
|
|
92
|
-
export interface FileOwnership {
|
|
93
|
-
taskId: string;
|
|
94
|
-
include: string[];
|
|
95
|
-
exclude: string[];
|
|
96
|
-
mode: "exclusive" | "shared_read";
|
|
97
|
-
}
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
An overlap detected between exclusive scopes causes compilation failure or forced serialization.
|
|
101
|
-
|
|
102
|
-
## 7. Command policy
|
|
103
|
-
|
|
104
|
-
Commands are generated from project rules and task type.
|
|
105
|
-
|
|
106
|
-
Example:
|
|
107
|
-
|
|
108
|
-
```json
|
|
109
|
-
{
|
|
110
|
-
"permittedCommands": [
|
|
111
|
-
"bun test packages/task-compiler"
|
|
112
|
-
],
|
|
113
|
-
"prohibitedCommands": [
|
|
114
|
-
"git commit",
|
|
115
|
-
"bench migrate",
|
|
116
|
-
"bench build"
|
|
117
|
-
]
|
|
118
|
-
}
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
This respects the user's standing rule that build, migrate, and commit require permission.
|
|
122
|
-
|
|
123
|
-
## 8. Verification contract
|
|
124
|
-
|
|
125
|
-
Each task must define how completion is proven.
|
|
126
|
-
|
|
127
|
-
```ts
|
|
128
|
-
export interface TaskOutput {
|
|
129
|
-
kind: "file" | "test_result" | "report" | "schema" | "diff";
|
|
130
|
-
path?: string;
|
|
131
|
-
description: string;
|
|
132
|
-
required: boolean;
|
|
133
|
-
}
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
A task cannot transition to done merely because an agent says it is complete. Required outputs must exist and verification checks must pass.
|
|
137
|
-
|
|
138
|
-
## 9. Provider routing hints
|
|
139
|
-
|
|
140
|
-
The Task Compiler may recommend providers but must not enforce provider availability.
|
|
141
|
-
|
|
142
|
-
Example routing:
|
|
143
|
-
|
|
144
|
-
- Master planning and final review: Codex/GPT
|
|
145
|
-
- Broad code implementation: MiniMax
|
|
146
|
-
- Debugging or alternate review: GLM
|
|
147
|
-
- Browser E2E: agent with Playwright capability
|
|
148
|
-
|
|
149
|
-
The Provider Router makes the final decision using quota and capability status.
|
|
150
|
-
|
|
151
|
-
## 10. Reference algorithm
|
|
152
|
-
|
|
153
|
-
```ts
|
|
154
|
-
export function compileTasks(input: TaskCompileInput): TaskGraph {
|
|
155
|
-
const candidates = decomposeRequirement(
|
|
156
|
-
input.requirement,
|
|
157
|
-
input.project,
|
|
158
|
-
input.dependencies,
|
|
159
|
-
);
|
|
160
|
-
|
|
161
|
-
const normalized = candidates.map(candidate =>
|
|
162
|
-
applyProjectRules(
|
|
163
|
-
assignVerification(
|
|
164
|
-
assignFileScope(candidate, input.project),
|
|
165
|
-
input.requirement.acceptanceCriteria,
|
|
166
|
-
),
|
|
167
|
-
input.project.rules,
|
|
168
|
-
),
|
|
169
|
-
);
|
|
170
|
-
|
|
171
|
-
const graph = buildGraph(normalized);
|
|
172
|
-
assertNoCycles(graph);
|
|
173
|
-
assertNoExclusiveFileOverlap(graph);
|
|
174
|
-
assertEveryTaskHasVerification(graph);
|
|
175
|
-
return graph;
|
|
176
|
-
}
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
## 11. Failure cases
|
|
180
|
-
|
|
181
|
-
- Cyclic task dependencies
|
|
182
|
-
- Missing verification
|
|
183
|
-
- Empty objective
|
|
184
|
-
- Exclusive file overlap in parallel tasks
|
|
185
|
-
- Required capability unavailable in all registered workers
|
|
186
|
-
- Destructive command permitted without approval gate
|
|
187
|
-
- Acceptance criterion not assigned to any task
|
|
188
|
-
|
|
189
|
-
## 12. Tests
|
|
190
|
-
|
|
191
|
-
1. Simple requirement produces analysis, implementation, test, review.
|
|
192
|
-
2. Cyclic dependencies fail.
|
|
193
|
-
3. Overlapping exclusive file scopes serialize or fail.
|
|
194
|
-
4. Every acceptance criterion maps to a task.
|
|
195
|
-
5. Build/migrate/commit remain prohibited by default.
|
|
196
|
-
6. E2E task is inserted for browser workflows.
|
|
197
|
-
7. Provider preference does not become a hard dependency.
|
|
198
|
-
8. Graph ordering is deterministic.
|
|
199
|
-
|
|
200
|
-
## 13. Acceptance criteria
|
|
201
|
-
|
|
202
|
-
- Generated graph is acyclic.
|
|
203
|
-
- Every task has measurable completion outputs.
|
|
204
|
-
- Every requirement criterion maps to at least one task.
|
|
205
|
-
- Parallel tasks do not have unsafe file overlap.
|
|
206
|
-
- Project command policy is preserved.
|
|
207
|
-
- Provider routing remains advisory.
|
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
# RFC-0045 — Project Analyzer
|
|
2
|
-
|
|
3
|
-
Status: Draft
|
|
4
|
-
Target package: `packages/project-analyzer`
|
|
5
|
-
Depends on: Workspace Manager, Framework Plugin SDK
|
|
6
|
-
|
|
7
|
-
## 1. Problem
|
|
8
|
-
|
|
9
|
-
The runtime must understand the target repository before planning work. It needs to know project type, languages, package managers, test commands, entry points, repository rules, framework conventions, and risk areas.
|
|
10
|
-
|
|
11
|
-
The Project Analyzer creates a versioned `ProjectProfile`.
|
|
12
|
-
|
|
13
|
-
## 2. Output model
|
|
14
|
-
|
|
15
|
-
```ts
|
|
16
|
-
export interface ProjectProfile {
|
|
17
|
-
repositoryRoot: string;
|
|
18
|
-
repositoryName: string;
|
|
19
|
-
revision: string;
|
|
20
|
-
frameworks: DetectedFramework[];
|
|
21
|
-
languages: DetectedLanguage[];
|
|
22
|
-
packageManagers: PackageManagerProfile[];
|
|
23
|
-
applications: ApplicationProfile[];
|
|
24
|
-
commands: ProjectCommands;
|
|
25
|
-
rules: ProjectRule[];
|
|
26
|
-
sensitivePaths: string[];
|
|
27
|
-
generatedPaths: string[];
|
|
28
|
-
testCapabilities: TestCapability[];
|
|
29
|
-
confidence: number;
|
|
30
|
-
warnings: ProjectWarning[];
|
|
31
|
-
analyzedAt: string;
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## 3. Detection signals
|
|
36
|
-
|
|
37
|
-
Examples:
|
|
38
|
-
|
|
39
|
-
### Frappe / ERPNext
|
|
40
|
-
|
|
41
|
-
- `sites/`
|
|
42
|
-
- `apps/`
|
|
43
|
-
- `hooks.py`
|
|
44
|
-
- `doctype/`
|
|
45
|
-
- `bench` executable or configuration
|
|
46
|
-
|
|
47
|
-
### Frappe SPA
|
|
48
|
-
|
|
49
|
-
- Frappe app directory
|
|
50
|
-
- `frontend/`
|
|
51
|
-
- Vite configuration
|
|
52
|
-
- Frappe API calls
|
|
53
|
-
|
|
54
|
-
### Next.js
|
|
55
|
-
|
|
56
|
-
- `next.config.*`
|
|
57
|
-
- `app/` or `pages/`
|
|
58
|
-
- `next` dependency
|
|
59
|
-
|
|
60
|
-
### React / Vite
|
|
61
|
-
|
|
62
|
-
- `vite.config.*`
|
|
63
|
-
- `src/main.tsx`
|
|
64
|
-
- `index.html`
|
|
65
|
-
|
|
66
|
-
### Django
|
|
67
|
-
|
|
68
|
-
- `manage.py`
|
|
69
|
-
- settings module
|
|
70
|
-
- Django dependency
|
|
71
|
-
|
|
72
|
-
### Laravel
|
|
73
|
-
|
|
74
|
-
- `artisan`
|
|
75
|
-
- `composer.json`
|
|
76
|
-
- `database/seeders`
|
|
77
|
-
|
|
78
|
-
Signals are weighted. A single file must not automatically establish full confidence.
|
|
79
|
-
|
|
80
|
-
## 4. Multi-application repositories
|
|
81
|
-
|
|
82
|
-
The analyzer must support monorepos and Frappe benches containing multiple apps.
|
|
83
|
-
|
|
84
|
-
```ts
|
|
85
|
-
export interface ApplicationProfile {
|
|
86
|
-
id: string;
|
|
87
|
-
root: string;
|
|
88
|
-
framework: string;
|
|
89
|
-
packageManager?: string;
|
|
90
|
-
testCommands: string[];
|
|
91
|
-
buildCommands: string[];
|
|
92
|
-
entryPoints: string[];
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
The Master Planner can scope a job to one application rather than the repository root.
|
|
97
|
-
|
|
98
|
-
## 5. Rule discovery
|
|
99
|
-
|
|
100
|
-
The analyzer searches for:
|
|
101
|
-
|
|
102
|
-
- `AGENTS.md`
|
|
103
|
-
- `RULES.md`
|
|
104
|
-
- `PROJECT_RULES.md`
|
|
105
|
-
- `CONTRIBUTING.md`
|
|
106
|
-
- package scripts
|
|
107
|
-
- test configuration
|
|
108
|
-
- lint configuration
|
|
109
|
-
- repository-local harness configuration
|
|
110
|
-
|
|
111
|
-
Rules are categorized as mandatory or advisory. Explicit user rules override inferred framework conventions.
|
|
112
|
-
|
|
113
|
-
## 6. Command discovery
|
|
114
|
-
|
|
115
|
-
Commands are discovered but not executed during analysis.
|
|
116
|
-
|
|
117
|
-
```ts
|
|
118
|
-
export interface ProjectCommands {
|
|
119
|
-
unitTest: string[];
|
|
120
|
-
integrationTest: string[];
|
|
121
|
-
e2eTest: string[];
|
|
122
|
-
lint: string[];
|
|
123
|
-
typecheck: string[];
|
|
124
|
-
build: string[];
|
|
125
|
-
migrate: string[];
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
Because the user prohibits build, migrate, and commit without permission, discovery records these commands but Policy Engine blocks execution until approved.
|
|
130
|
-
|
|
131
|
-
## 7. Sensitive and generated paths
|
|
132
|
-
|
|
133
|
-
Typical sensitive paths:
|
|
134
|
-
|
|
135
|
-
```text
|
|
136
|
-
.env
|
|
137
|
-
.env.*
|
|
138
|
-
sites/*/site_config.json
|
|
139
|
-
private/
|
|
140
|
-
credentials/
|
|
141
|
-
*.pem
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
Typical generated paths:
|
|
145
|
-
|
|
146
|
-
```text
|
|
147
|
-
node_modules/
|
|
148
|
-
dist/
|
|
149
|
-
build/
|
|
150
|
-
public/frontend/
|
|
151
|
-
coverage/
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
Framework plugins may add patterns. The analyzer must never read secret file contents merely to classify them.
|
|
155
|
-
|
|
156
|
-
## 8. Confidence
|
|
157
|
-
|
|
158
|
-
```text
|
|
159
|
-
confidence =
|
|
160
|
-
matched_signal_weight
|
|
161
|
-
/ total_required_signal_weight
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
Confidence is reported per detected framework and globally. Conflicting signals produce warnings rather than silent selection.
|
|
165
|
-
|
|
166
|
-
Example:
|
|
167
|
-
|
|
168
|
-
```json
|
|
169
|
-
{
|
|
170
|
-
"framework": "frappe_spa",
|
|
171
|
-
"confidence": 0.94,
|
|
172
|
-
"signals": [
|
|
173
|
-
"hooks.py",
|
|
174
|
-
"frontend/vite.config.ts",
|
|
175
|
-
"frappe API imports"
|
|
176
|
-
]
|
|
177
|
-
}
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
## 9. Cache and invalidation
|
|
181
|
-
|
|
182
|
-
Project analysis is cached by:
|
|
183
|
-
|
|
184
|
-
- Git revision
|
|
185
|
-
- Hash of rule files
|
|
186
|
-
- Hash of package manifests
|
|
187
|
-
- Hash of framework configuration files
|
|
188
|
-
|
|
189
|
-
Source code changes that do not affect these inputs do not require full re-analysis.
|
|
190
|
-
|
|
191
|
-
## 10. Plugin interface
|
|
192
|
-
|
|
193
|
-
```ts
|
|
194
|
-
export interface FrameworkAnalyzerPlugin {
|
|
195
|
-
id: string;
|
|
196
|
-
detect(fs: ReadonlyFileSystem): Promise<DetectionResult>;
|
|
197
|
-
analyze(
|
|
198
|
-
root: string,
|
|
199
|
-
detection: DetectionResult,
|
|
200
|
-
): Promise<Partial<ProjectProfile>>;
|
|
201
|
-
}
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
Plugins must not execute arbitrary project scripts during detection.
|
|
205
|
-
|
|
206
|
-
## 11. Failure handling
|
|
207
|
-
|
|
208
|
-
- Unknown framework: produce generic profile.
|
|
209
|
-
- Conflicting package managers: report warning.
|
|
210
|
-
- Missing test scripts: report unavailable capability.
|
|
211
|
-
- Unreadable rule file: fail if mandatory, warn otherwise.
|
|
212
|
-
- Repository larger than scan limit: use bounded traversal.
|
|
213
|
-
- Symlink escaping repository root: reject traversal.
|
|
214
|
-
|
|
215
|
-
## 12. Security
|
|
216
|
-
|
|
217
|
-
The analyzer must:
|
|
218
|
-
|
|
219
|
-
- Stay inside repository root.
|
|
220
|
-
- Avoid following external symlinks.
|
|
221
|
-
- Apply maximum file size and traversal limits.
|
|
222
|
-
- Never execute detected scripts.
|
|
223
|
-
- Never include secrets in `ProjectProfile`.
|
|
224
|
-
- Preserve only paths and metadata for sensitive files.
|
|
225
|
-
|
|
226
|
-
## 13. Tests
|
|
227
|
-
|
|
228
|
-
1. Detect Frappe bench.
|
|
229
|
-
2. Detect Frappe SPA.
|
|
230
|
-
3. Detect Next.js.
|
|
231
|
-
4. Detect React/Vite.
|
|
232
|
-
5. Return generic profile for unknown project.
|
|
233
|
-
6. Handle monorepo applications.
|
|
234
|
-
7. Discover `AGENTS.md` rules.
|
|
235
|
-
8. Record but do not execute build/migrate commands.
|
|
236
|
-
9. Reject symlink traversal outside root.
|
|
237
|
-
10. Cache invalidates when rule files change.
|
|
238
|
-
|
|
239
|
-
## 14. Acceptance criteria
|
|
240
|
-
|
|
241
|
-
- Framework detection includes confidence and evidence.
|
|
242
|
-
- Multi-app repositories are represented.
|
|
243
|
-
- Project rules are discoverable and prioritized.
|
|
244
|
-
- Sensitive file contents are never read into output.
|
|
245
|
-
- Commands are detected but not executed.
|
|
246
|
-
- Generic fallback permits planning for unknown frameworks.
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
# RFC-0051 — Capability Registry
|
|
2
|
-
|
|
3
|
-
Status: Draft
|
|
4
|
-
Target package: `packages/capability-registry`
|
|
5
|
-
Depends on: RFC-0053 Model Registry
|
|
6
|
-
|
|
7
|
-
## 1. Problem
|
|
8
|
-
|
|
9
|
-
The runtime needs to know which capabilities each model and provider supports. Currently, capabilities are hardcoded. The Capability Registry provides a centralized, extensible system for tracking and querying model capabilities.
|
|
10
|
-
|
|
11
|
-
## 2. Capability Types
|
|
12
|
-
|
|
13
|
-
```ts
|
|
14
|
-
export type Capability =
|
|
15
|
-
| "code_generation"
|
|
16
|
-
| "code_review"
|
|
17
|
-
| "planning"
|
|
18
|
-
| "test_generation"
|
|
19
|
-
| "e2e_testing"
|
|
20
|
-
| "refactoring"
|
|
21
|
-
| "analysis"
|
|
22
|
-
| "debugging"
|
|
23
|
-
| "documentation"
|
|
24
|
-
| "vision"
|
|
25
|
-
| "function_calling"
|
|
26
|
-
| "json_mode"
|
|
27
|
-
| "streaming";
|
|
28
|
-
|
|
29
|
-
export interface CapabilityProfile {
|
|
30
|
-
capability: Capability;
|
|
31
|
-
score: number; // 0-100, quality rating
|
|
32
|
-
latency: "fast" | "medium" | "slow";
|
|
33
|
-
contextWindow: number;
|
|
34
|
-
maxOutputTokens: number;
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## 3. Registry Interface
|
|
39
|
-
|
|
40
|
-
```ts
|
|
41
|
-
export interface CapabilityRegistry {
|
|
42
|
-
register(providerId: string, modelId: string, capabilities: CapabilityProfile[]): void;
|
|
43
|
-
unregister(providerId: string, modelId: string): void;
|
|
44
|
-
getCapabilities(providerId: string, modelId: string): CapabilityProfile[];
|
|
45
|
-
query(capability: Capability, requirements?: CapabilityQuery): ModelWithCapability[];
|
|
46
|
-
listProviders(): string[];
|
|
47
|
-
listModels(providerId: string): string[];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export interface CapabilityQuery {
|
|
51
|
-
minScore?: number;
|
|
52
|
-
maxLatency?: "fast" | "medium" | "slow";
|
|
53
|
-
requiresContextWindow?: number;
|
|
54
|
-
requiresMaxOutput?: number;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface ModelWithCapability {
|
|
58
|
-
providerId: string;
|
|
59
|
-
modelId: string;
|
|
60
|
-
profile: CapabilityProfile;
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## 4. Default Capabilities
|
|
65
|
-
|
|
66
|
-
```ts
|
|
67
|
-
export const DEFAULT_CAPABILITIES: Record<string, Record<string, CapabilityProfile[]>> = {
|
|
68
|
-
"openai": {
|
|
69
|
-
"gpt-4o": [
|
|
70
|
-
{ capability: "code_generation", score: 95, latency: "medium", contextWindow: 128000, maxOutputTokens: 16384 },
|
|
71
|
-
{ capability: "code_review", score: 90, latency: "medium", contextWindow: 128000, maxOutputTokens: 16384 },
|
|
72
|
-
{ capability: "vision", score: 95, latency: "medium", contextWindow: 128000, maxOutputTokens: 16384 },
|
|
73
|
-
{ capability: "function_calling", score: 95, latency: "medium", contextWindow: 128000, maxOutputTokens: 16384 },
|
|
74
|
-
],
|
|
75
|
-
},
|
|
76
|
-
"anthropic": {
|
|
77
|
-
"claude-sonnet-4": [
|
|
78
|
-
{ capability: "code_generation", score: 95, latency: "fast", contextWindow: 200000, maxOutputTokens: 8192 },
|
|
79
|
-
{ capability: "code_review", score: 95, latency: "fast", contextWindow: 200000, maxOutputTokens: 8192 },
|
|
80
|
-
{ capability: "planning", score: 90, latency: "fast", contextWindow: 200000, maxOutputTokens: 8192 },
|
|
81
|
-
{ capability: "vision", score: 90, latency: "fast", contextWindow: 200000, maxOutputTokens: 8192 },
|
|
82
|
-
],
|
|
83
|
-
"claude-opus-4": [
|
|
84
|
-
{ capability: "code_generation", score: 98, latency: "slow", contextWindow: 200000, maxOutputTokens: 8192 },
|
|
85
|
-
{ capability: "planning", score: 95, latency: "slow", contextWindow: 200000, maxOutputTokens: 8192 },
|
|
86
|
-
{ capability: "analysis", score: 95, latency: "slow", contextWindow: 200000, maxOutputTokens: 8192 },
|
|
87
|
-
],
|
|
88
|
-
},
|
|
89
|
-
"minimax": {
|
|
90
|
-
"MiniMax-Text-01": [
|
|
91
|
-
{ capability: "code_generation", score: 85, latency: "fast", contextWindow: 1000000, maxOutputTokens: 8192 },
|
|
92
|
-
{ capability: "function_calling", score: 80, latency: "fast", contextWindow: 1000000, maxOutputTokens: 8192 },
|
|
93
|
-
],
|
|
94
|
-
},
|
|
95
|
-
};
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## 5. Query Algorithm
|
|
99
|
-
|
|
100
|
-
```ts
|
|
101
|
-
export function queryCapabilities(
|
|
102
|
-
registry: CapabilityRegistry,
|
|
103
|
-
capability: Capability,
|
|
104
|
-
requirements?: CapabilityQuery,
|
|
105
|
-
): ModelWithCapability[] {
|
|
106
|
-
const all = registry.getAllModelsWithCapability(capability);
|
|
107
|
-
|
|
108
|
-
return all
|
|
109
|
-
.filter(m => {
|
|
110
|
-
if (requirements?.minScore && m.profile.score < requirements.minScore) return false;
|
|
111
|
-
if (requirements?.maxLatency && LATENCY_RANK[m.profile.latency] > LATENCY_RANK[requirements.maxLatency]) return false;
|
|
112
|
-
if (requirements?.requiresContextWindow && m.profile.contextWindow < requirements.requiresContextWindow) return false;
|
|
113
|
-
if (requirements?.requiresMaxOutput && m.profile.maxOutputTokens < requirements.requiresMaxOutput) return false;
|
|
114
|
-
return true;
|
|
115
|
-
})
|
|
116
|
-
.sort((a, b) => b.profile.score - a.profile.score);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
const LATENCY_RANK = { fast: 1, medium: 2, slow: 3 };
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## 6. Integration Points
|
|
123
|
-
|
|
124
|
-
- Provider Router uses Capability Registry to filter candidates
|
|
125
|
-
- Cost Optimizer uses capability profiles for model selection
|
|
126
|
-
- Task Compiler uses capabilities for task-to-model matching
|
|
127
|
-
|
|
128
|
-
## 7. Events
|
|
129
|
-
|
|
130
|
-
```ts
|
|
131
|
-
type CapabilityRegistryEvent =
|
|
132
|
-
| { type: "capability.registered"; providerId: string; modelId: string; count: number }
|
|
133
|
-
| { type: "capability.unregistered"; providerId: string; modelId: string }
|
|
134
|
-
| { type: "capability.queried"; capability: Capability; results: number };
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## 8. Acceptance Criteria
|
|
138
|
-
|
|
139
|
-
- Registry can register/unregister capabilities
|
|
140
|
-
- Query returns models sorted by score
|
|
141
|
-
- Latency and context window filters work correctly
|
|
142
|
-
- Default capabilities are loaded on initialization
|
|
143
|
-
- Events are emitted for all mutations
|
|
144
|
-
- Unit tests cover all query scenarios
|