feat: Create Command Behavior Verification Matrix across CLI, TUI, and…
SF-Task: S04/T01
This commit is contained in:
parent
f789bf0f40
commit
e2f2cb7e2e
25 changed files with 52 additions and 43 deletions
|
|
@ -1,10 +0,0 @@
|
|||
# Non-Goals — quick reference
|
||||
|
||||
For the full set see [`.sf/NON-GOALS.md`](../../../.sf/NON-GOALS.md).
|
||||
|
||||
- Not a code-completion product. SF is a planning + workflow control
|
||||
plane; the agent generates code, not autocomplete suggestions.
|
||||
- Not a chatbot. Sessions are structured around milestones and modes.
|
||||
- Not a knowledge graph product. Memory and recall are operational
|
||||
concerns, not the product itself.
|
||||
- Not a registry. SF doesn't host a public skill/plugin marketplace.
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
# Principles — quick reference
|
||||
|
||||
For the full set see [`.sf/PRINCIPLES.md`](../../../.sf/PRINCIPLES.md).
|
||||
|
||||
- **Purpose-first.** Every milestone, slice, task ties back to a
|
||||
stated purpose. Refuse work that doesn't.
|
||||
- **Promote-only state.** `.sf/` artifacts are append/promote — don't
|
||||
rewrite history of promoted artifacts; create new revisions if
|
||||
something changed.
|
||||
- **Spec-first TDD.** Write the contract before the code; tests
|
||||
before the implementation.
|
||||
- **Deterministic resolution.** Given the same inputs, agents must
|
||||
produce the same canonical configuration.
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
# Style — quick reference
|
||||
|
||||
For the full guide see [`.sf/STYLE.md`](../../../.sf/STYLE.md).
|
||||
|
||||
- DB access via `node:sqlite` `DatabaseSync`. Never `better-sqlite3`,
|
||||
never native addons.
|
||||
- No file-based proxies for DB state. Query the DB.
|
||||
- Comments are sparing — explain WHY a non-obvious choice was made,
|
||||
never WHAT the code does (the code says that).
|
||||
- Functions/classes get docstrings only when their purpose is
|
||||
non-obvious from the name.
|
||||
- TypeScript-first for new code under `src/`. JavaScript-first under
|
||||
`src/resources/extensions/sf/` (loaded directly, no compile step
|
||||
beyond `copy-resources`).
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.sf/metrics.db
BIN
.sf/metrics.db
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"research-slice": {
|
||||
"kimi-coding/kimi-k2.6": {
|
||||
"successes": 4,
|
||||
"successes": 5,
|
||||
"failures": 0,
|
||||
"timeouts": 0,
|
||||
"totalTokens": 1590810,
|
||||
"totalCost": 0.22167976,
|
||||
"lastUsed": "2026-05-08T13:36:05.865Z",
|
||||
"totalTokens": 4682735,
|
||||
"totalCost": 0.25357486,
|
||||
"lastUsed": "2026-05-12T20:54:43.410Z",
|
||||
"successRate": 1,
|
||||
"total": 4
|
||||
"total": 5
|
||||
},
|
||||
"minimax/MiniMax-M2.7": {
|
||||
"successes": 1,
|
||||
|
|
@ -51,6 +51,16 @@
|
|||
"lastUsed": "2026-05-10T07:26:04.505Z",
|
||||
"successRate": 1,
|
||||
"total": 2
|
||||
},
|
||||
"kimi-coding/kimi-k2.6": {
|
||||
"successes": 1,
|
||||
"failures": 0,
|
||||
"timeouts": 0,
|
||||
"totalTokens": 476746,
|
||||
"totalCost": 0,
|
||||
"lastUsed": "2026-05-12T20:56:35.833Z",
|
||||
"successRate": 1,
|
||||
"total": 1
|
||||
}
|
||||
},
|
||||
"discuss-milestone": {
|
||||
|
|
@ -97,6 +107,16 @@
|
|||
"lastUsed": "2026-05-10T15:16:08.120Z",
|
||||
"successRate": 1,
|
||||
"total": 1
|
||||
},
|
||||
"kimi-coding/kimi-k2.6": {
|
||||
"successes": 1,
|
||||
"failures": 0,
|
||||
"timeouts": 0,
|
||||
"totalTokens": 1821480,
|
||||
"totalCost": 0,
|
||||
"lastUsed": "2026-05-12T20:57:45.179Z",
|
||||
"successRate": 1,
|
||||
"total": 1
|
||||
}
|
||||
},
|
||||
"complete-slice": {
|
||||
|
|
|
|||
16
.sf/safety/evidence-M001-6377a4-S04-T01.json
Normal file
16
.sf/safety/evidence-M001-6377a4-S04-T01.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
[
|
||||
{
|
||||
"kind": "write",
|
||||
"toolCallId": "write_1778619443353_32",
|
||||
"path": ".sf/milestones/M001-6377a4/slices/S04/VERIFICATION_MATRIX.md",
|
||||
"timestamp": 1778619443535
|
||||
},
|
||||
{
|
||||
"kind": "bash",
|
||||
"toolCallId": "bash_1778619447339_33",
|
||||
"command": "test -f .sf/milestones/M001-6377a4/slices/S04/VERIFICATION_MATRIX.md && grep -q \"status\" .sf/milestones/M001-6377a4/slices/S04/VERIFICATION_MATRIX.md && echo \"Matrix exists and contains status command info.\"",
|
||||
"exitCode": 0,
|
||||
"outputSnippet": "Matrix exists and contains status command info.\n",
|
||||
"timestamp": 1778619447544
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"ts":"2026-05-12T20:56:39.435Z","type":"gate_run","traceId":"guard:76c7c307-91b4-426e-8fad-4ff951d5a52e","turnId":"iter-4","gateId":"plan-gate","gateType":"policy","unitType":"execute-task","unitId":"M001-6377a4/S04/T01","milestoneId":"M001-6377a4","sliceId":"S04","outcome":"pass","failureClass":"none","rationale":"Plan files verified","attempt":1,"maxAttempts":1,"retryable":false,"evaluatedAt":"2026-05-12T20:56:39.435Z","durationMs":0}
|
||||
|
|
@ -1 +1 @@
|
|||
pre-dispatch:952f3f1c-1861-4637-a706-54141371ebc7.jsonl
|
||||
guard:76c7c307-91b4-426e-8fad-4ff951d5a52e.jsonl
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
{"ts":"2026-05-12T20:52:04.171Z","type":"gate_run","traceId":"pre-dispatch:2e5b5158-453c-4b09-8dd2-26fa87c8ded5","turnId":"iter-1","gateId":"resource-version-guard","gateType":"policy","unitType":"pre-dispatch","unitId":"iter-1","milestoneId":"M001-6377a4","outcome":"pass","failureClass":"none","rationale":"resource version guard passed","findings":"","attempt":1,"maxAttempts":1,"retryable":false,"evaluatedAt":"2026-05-12T20:52:04.167Z","durationMs":0}
|
||||
{"ts":"2026-05-12T20:52:04.988Z","type":"gate_run","traceId":"pre-dispatch:2e5b5158-453c-4b09-8dd2-26fa87c8ded5","turnId":"iter-1","gateId":"pre-dispatch-health-gate","gateType":"execution","unitType":"pre-dispatch","unitId":"iter-1","milestoneId":"M001-6377a4","outcome":"pass","failureClass":"none","rationale":"pre-dispatch health gate passed","findings":"","attempt":1,"maxAttempts":1,"retryable":false,"evaluatedAt":"2026-05-12T20:52:04.987Z","durationMs":0}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
{"ts":"2026-05-12T20:56:38.487Z","type":"gate_run","traceId":"pre-dispatch:76c7c307-91b4-426e-8fad-4ff951d5a52e","turnId":"iter-4","gateId":"resource-version-guard","gateType":"policy","unitType":"pre-dispatch","unitId":"iter-4","milestoneId":"M001-6377a4","outcome":"pass","failureClass":"none","rationale":"resource version guard passed","findings":"","attempt":1,"maxAttempts":1,"retryable":false,"evaluatedAt":"2026-05-12T20:56:38.485Z","durationMs":0}
|
||||
{"ts":"2026-05-12T20:56:39.307Z","type":"gate_run","traceId":"pre-dispatch:76c7c307-91b4-426e-8fad-4ff951d5a52e","turnId":"iter-4","gateId":"pre-dispatch-health-gate","gateType":"execution","unitType":"pre-dispatch","unitId":"iter-4","milestoneId":"M001-6377a4","outcome":"pass","failureClass":"none","rationale":"pre-dispatch health gate passed","findings":"","attempt":1,"maxAttempts":1,"retryable":false,"evaluatedAt":"2026-05-12T20:56:39.307Z","durationMs":0}
|
||||
{"ts":"2026-05-12T20:56:39.313Z","type":"gate_run","traceId":"pre-dispatch:76c7c307-91b4-426e-8fad-4ff951d5a52e","turnId":"iter-4","gateId":"planning-flow-gate","gateType":"policy","unitType":"pre-dispatch","unitId":"iter-4","milestoneId":"M001-6377a4","outcome":"pass","failureClass":"none","rationale":"planning flow compile gate passed","findings":"","attempt":1,"maxAttempts":1,"retryable":false,"evaluatedAt":"2026-05-12T20:56:39.312Z","durationMs":0}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
{"ts":"2026-05-12T20:56:36.969Z","type":"gate_run","traceId":"pre-dispatch:7b06b885-0539-40d2-81c1-066c2b2f20c5","turnId":"iter-3","gateId":"resource-version-guard","gateType":"policy","unitType":"pre-dispatch","unitId":"iter-3","milestoneId":"M001-6377a4","outcome":"pass","failureClass":"none","rationale":"resource version guard passed","findings":"","attempt":1,"maxAttempts":1,"retryable":false,"evaluatedAt":"2026-05-12T20:56:36.968Z","durationMs":0}
|
||||
{"ts":"2026-05-12T20:56:37.702Z","type":"gate_run","traceId":"pre-dispatch:7b06b885-0539-40d2-81c1-066c2b2f20c5","turnId":"iter-3","gateId":"pre-dispatch-health-gate","gateType":"execution","unitType":"pre-dispatch","unitId":"iter-3","milestoneId":"M001-6377a4","outcome":"pass","failureClass":"none","rationale":"pre-dispatch health gate passed","findings":"","attempt":1,"maxAttempts":1,"retryable":false,"evaluatedAt":"2026-05-12T20:56:37.700Z","durationMs":0}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
{"ts":"2026-05-12T20:54:44.467Z","type":"gate_run","traceId":"pre-dispatch:9ed021af-f7d3-4d67-bfae-5ecbfcbd08b6","turnId":"iter-2","gateId":"resource-version-guard","gateType":"policy","unitType":"pre-dispatch","unitId":"iter-2","milestoneId":"M001-6377a4","outcome":"pass","failureClass":"none","rationale":"resource version guard passed","findings":"","attempt":1,"maxAttempts":1,"retryable":false,"evaluatedAt":"2026-05-12T20:54:44.466Z","durationMs":0}
|
||||
{"ts":"2026-05-12T20:54:45.217Z","type":"gate_run","traceId":"pre-dispatch:9ed021af-f7d3-4d67-bfae-5ecbfcbd08b6","turnId":"iter-2","gateId":"pre-dispatch-health-gate","gateType":"execution","unitType":"pre-dispatch","unitId":"iter-2","milestoneId":"M001-6377a4","outcome":"pass","failureClass":"none","rationale":"pre-dispatch health gate passed","findings":"","attempt":1,"maxAttempts":1,"retryable":false,"evaluatedAt":"2026-05-12T20:54:45.217Z","durationMs":0}
|
||||
Loading…
Add table
Reference in a new issue