Zion Boggan zionboggan.com ↗

Regenerate example artifacts with project-derived agent memory

105e2b7   Zion Boggan committed on Jun 12, 2026 (1 week ago)
examples/weather-dashboard/.treetrace/agent-memory.md +6 -10
@@ -2,12 +2,10 @@
Project: weather-dashboard
-## Durable project constraints
-
-- Keep the project local-first and privacy-first.
-- Treat the structured outputs as the core product.
-- Keep the human-readable report as one artifact among several.
+## Constraints the user enforced
+- No, scrap the radar map, it is too heavy.
+- Actually wait - also add a settings panel so the user can switch cities.
## Lessons from this lineage
@@ -15,11 +13,9 @@ Project: weather-dashboard
## Known bad paths
-
-- Do not narrow the project to only a README generator.
+- No abandoned paths were detected in this session.
## Preferred next work
-- Improve the failure-signal heuristics with real fixtures.
-- Add a compare mode for baseline and candidate exports.
-
+- Continue the most recent accepted direction: Actually wait - also add a settings panel so the user can switch cities.
+- Keep this correction satisfied: No, scrap the radar map, it is too heavy.
examples/weather-dashboard/.treetrace/evals.jsonl +1 -1
@@ -1 +1 @@
-{"id":"eval_001","source":"treetrace","type":"scope_drift_detection","task":"Continue development while preserving the corrected direction from the session lineage.","context":"The work appears to have overbuilt the requested shape near \"Try using leaflet for an interactive radar map layer on top of the forecast.\"; corrected by \"No, scrap the radar map, it is too heavy.\".","input":"Continue development of the project while preserving the corrected direction and constraints.","expected_behavior":["Use the corrected prompt lineage as durable context","Do not repeat the documented failure mode"],"failure_mode":"Agent repeats overbuilt solution despite prior correction.","sourceNodeIds":["node_002","node_003","node_004"]}
+{"id":"eval_001","source":"treetrace","type":"scope_drift_detection","task":"Continue development while preserving the corrected direction from the session lineage.","context":"The work appears to have overbuilt the requested shape near \"Try using leaflet for an interactive radar map layer on top of the forecast.\"; corrected by \"No, scrap the radar map, it is too heavy.\".","input":"Honor this correction and keep building: \"No, scrap the radar map, it is too heavy. Keep the page lightweight, just the forecast cards.\"","expected_behavior":["Use the corrected prompt lineage as durable context","Do not repeat the documented failure mode"],"failure_mode":"Agent repeats overbuilt solution despite prior correction.","sourceNodeIds":["node_002","node_003","node_004"]}
examples/weather-dashboard/.treetrace/failures.json +1 -1
@@ -2,7 +2,7 @@
"schemaVersion": "0.2",
"project": {
"name": "weather-dashboard",
- "generatedAt": "2026-06-12T04:29:00.937Z"
+ "generatedAt": "2026-06-12T05:59:45.796Z"
},
"summary": {
"totalFailureSignals": 1,
examples/weather-dashboard/.treetrace/tree.json +4 -4
@@ -7,7 +7,7 @@
},
"project": {
"name": "weather-dashboard",
- "generatedAt": "2026-06-12T04:29:00.937Z",
+ "generatedAt": "2026-06-12T05:59:45.796Z",
"sourceType": "claude-code-jsonl"
},
"stats": {
@@ -114,8 +114,8 @@
"parentId": "node_003",
"role": "user",
"kind": "scope-change",
- "title": "Actually wait - also add a settings panel so the user can switch cities.",
- "text": "Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]",
+ "title": "Actually wait - also add a settings panel so the user can switch cities.",
+ "text": "Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]",
"status": "accepted",
"nudges": 0,
"reruns": 0,
@@ -176,7 +176,7 @@
"type": "scope_drift_detection",
"task": "Continue development while preserving the corrected direction from the session lineage.",
"context": "The work appears to have overbuilt the requested shape near \"Try using leaflet for an interactive radar map layer on top of the forecast.\"; corrected by \"No, scrap the radar map, it is too heavy.\".",
- "input": "Continue development of the project while preserving the corrected direction and constraints.",
+ "input": "Honor this correction and keep building: \"No, scrap the radar map, it is too heavy. Keep the page lightweight, just the forecast cards.\"",
"expected_behavior": [
"Use the corrected prompt lineage as durable context",
"Do not repeat the documented failure mode"
examples/weather-dashboard/PROMPT_TREE.md +3 -3
@@ -23,10 +23,10 @@
> No, scrap the radar map, it is too heavy. Keep the page lightweight, just the forecast cards.
</details>
-- `⚑` Actually wait - also add a settings panel so the user can switch cities.
+- `⚑` Actually wait - also add a settings panel so the user can switch cities.
<details><summary>full prompt</summary>
- > Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
+ > Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
</details>
## Course corrections & dead ends
@@ -43,7 +43,7 @@ A distilled, replayable version of the accepted path. Paste into a fresh agent t
1. Build a weather dashboard web app that shows the forecast for Memphis using the NWS API. Keep it a single static page.
2. Try using leaflet for an interactive radar map layer on top of the forecast.
(constraint learned along the way: No, scrap the radar map, it is too heavy. Keep the page lightweight, just the forecast cards.)
-3. Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
+3. Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
```
---
examples/weather-dashboard/TREETRACE_REPORT.md +12 -16
@@ -1,6 +1,6 @@
# TreeTrace Report - weather-dashboard
-Generated: 2026-06-12T04:29:00.937Z
+Generated: 2026-06-12T05:59:45.796Z
This is the human-readable rollup. Keep the split `.treetrace/` artifacts for agents, CI, eval harnesses, and other tools.
@@ -53,12 +53,12 @@ Build a weather dashboard web app that shows the forecast for Memphis using the
#### Where things stand
-Most recent accepted direction: Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
+Most recent accepted direction: Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
#### Accepted decisions (in order)
1. Try using leaflet for an interactive radar map layer on top of the forecast.
-2. Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
+2. Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
#### Constraints learned the hard way
@@ -78,12 +78,10 @@ Confirm you understand the goal, the accepted decisions, and the constraints abo
Project: weather-dashboard
-#### Durable project constraints
-
-- Keep the project local-first and privacy-first.
-- Treat the structured outputs as the core product.
-- Keep the human-readable report as one artifact among several.
+#### Constraints the user enforced
+- No, scrap the radar map, it is too heavy.
+- Actually wait - also add a settings panel so the user can switch cities.
#### Lessons from this lineage
@@ -91,14 +89,12 @@ Project: weather-dashboard
#### Known bad paths
-
-- Do not narrow the project to only a README generator.
+- No abandoned paths were detected in this session.
#### Preferred next work
-- Improve the failure-signal heuristics with real fixtures.
-- Add a compare mode for baseline and candidate exports.
-
+- Continue the most recent accepted direction: Actually wait - also add a settings panel so the user can switch cities.
+- Keep this correction satisfied: No, scrap the radar map, it is too heavy.
## Lessons
@@ -133,10 +129,10 @@ Source nodes: node_002, node_003, node_004
> No, scrap the radar map, it is too heavy. Keep the page lightweight, just the forecast cards.
</details>
-- `⚑` Actually wait - also add a settings panel so the user can switch cities.
+- `⚑` Actually wait - also add a settings panel so the user can switch cities.
<details><summary>full prompt</summary>
- > Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
+ > Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
</details>
#### Course corrections & dead ends
@@ -153,7 +149,7 @@ A distilled, replayable version of the accepted path. Paste into a fresh agent t
1. Build a weather dashboard web app that shows the forecast for Memphis using the NWS API. Keep it a single static page.
2. Try using leaflet for an interactive radar map layer on top of the forecast.
(constraint learned along the way: No, scrap the radar map, it is too heavy. Keep the page lightweight, just the forecast cards.)
-3. Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
+3. Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]
```
---
examples/weather-dashboard/tree.json +4 -4
@@ -7,7 +7,7 @@
},
"project": {
"name": "weather-dashboard",
- "generatedAt": "2026-06-12T04:29:00.937Z",
+ "generatedAt": "2026-06-12T05:59:45.796Z",
"sourceType": "claude-code-jsonl"
},
"stats": {
@@ -114,8 +114,8 @@
"parentId": "node_003",
"role": "user",
"kind": "scope-change",
- "title": "Actually wait - also add a settings panel so the user can switch cities.",
- "text": "Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]",
+ "title": "Actually wait - also add a settings panel so the user can switch cities.",
+ "text": "Actually wait - also add a settings panel so the user can switch cities. My test key is [REDACTED:anthropic-key] and the server is at [REDACTED:url-basic-auth]",
"status": "accepted",
"nudges": 0,
"reruns": 0,
@@ -176,7 +176,7 @@
"type": "scope_drift_detection",
"task": "Continue development while preserving the corrected direction from the session lineage.",
"context": "The work appears to have overbuilt the requested shape near \"Try using leaflet for an interactive radar map layer on top of the forecast.\"; corrected by \"No, scrap the radar map, it is too heavy.\".",
- "input": "Continue development of the project while preserving the corrected direction and constraints.",
+ "input": "Honor this correction and keep building: \"No, scrap the radar map, it is too heavy. Keep the page lightweight, just the forecast cards.\"",
"expected_behavior": [
"Use the corrected prompt lineage as durable context",
"Do not repeat the documented failure mode"
test/fixtures/synthetic-session.jsonl +2 -2
@@ -4,7 +4,7 @@
{"parentUuid":null,"isSidechain":false,"type":"user","userType":"external","uuid":"u1","sessionId":"fix-001","timestamp":"2026-06-01T10:00:00.000Z","cwd":"/tmp/demo","gitBranch":"main","version":"2.1.0","message":{"role":"user","content":"Build a weather dashboard web app that shows the forecast for Memphis using the NWS API. Keep it a single static page."}}
{"parentUuid":"u1","isSidechain":false,"type":"assistant","uuid":"a1","sessionId":"fix-001","timestamp":"2026-06-01T10:00:30.000Z","message":{"role":"assistant","model":"assistant-model","usage":{"input_tokens":1200,"output_tokens":400},"content":[{"type":"text","text":"On it."},{"type":"tool_use","id":"t1","name":"Write","input":{"file_path":"/tmp/demo/index.html","content":"<html>"}}]}}
{"parentUuid":"a1","isSidechain":false,"type":"user","uuid":"u2","sessionId":"fix-001","timestamp":"2026-06-01T10:01:00.000Z","message":{"role":"user","content":[{"type":"tool_result","tool_use_id":"t1","content":"ok"}]}}
-{"parentUuid":"u2","isSidechain":false,"type":"assistant","uuid":"a2","sessionId":"fix-001","timestamp":"2026-06-01T10:01:10.000Z","message":{"role":"assistant","model":"assistant-model","usage":{"input_tokens":1300,"output_tokens":300},"content":[{"type":"text","text":"Done - static page written."}]}}
+{"parentUuid":"u2","isSidechain":false,"type":"assistant","uuid":"a2","sessionId":"fix-001","timestamp":"2026-06-01T10:01:10.000Z","message":{"role":"assistant","model":"assistant-model","usage":{"input_tokens":1300,"output_tokens":300},"content":[{"type":"text","text":"Done - static page written."}]}}
{"parentUuid":"a2","isSidechain":false,"type":"user","userType":"external","uuid":"u3","sessionId":"fix-001","timestamp":"2026-06-01T10:02:00.000Z","message":{"role":"user","content":"<command-name>/status</command-name>"}}
{"parentUuid":"u3","isSidechain":false,"type":"user","userType":"external","uuid":"u4","sessionId":"fix-001","timestamp":"2026-06-01T10:03:00.000Z","message":{"role":"user","content":"continue"}}
{"parentUuid":"u4","isSidechain":false,"type":"user","userType":"external","uuid":"u5","sessionId":"fix-001","timestamp":"2026-06-01T10:04:00.000Z","message":{"role":"user","content":"Try using leaflet for an interactive radar map layer on top of the forecast."}}
@@ -16,4 +16,4 @@
{"parentUuid":"s1","isSidechain":true,"type":"assistant","uuid":"s2","sessionId":"fix-001","timestamp":"2026-06-01T10:09:40.000Z","message":{"role":"assistant","model":"assistant-model-mini","content":[{"type":"text","text":"none found"}]}}
{"parentUuid":"u7","isSidechain":false,"type":"assistant","uuid":"a5","sessionId":"fix-001","timestamp":"2026-06-01T10:10:00.000Z","message":{"role":"assistant","model":"assistant-model","usage":{"input_tokens":1600,"output_tokens":350},"content":[{"type":"text","text":"Removed."}]}}
{"parentUuid":"a5","isSidechain":false,"type":"user","userType":"external","uuid":"u8","sessionId":"fix-001","timestamp":"2026-06-01T10:11:00.000Z","message":{"role":"user","content":"[Request interrupted by user]"}}
-{"parentUuid":"u8","isSidechain":false,"type":"user","userType":"external","uuid":"u9","sessionId":"fix-001","timestamp":"2026-06-01T10:12:00.000Z","message":{"role":"user","content":"Actually wait - also add a settings panel so the user can switch cities. My test key is sk-ant-api03-FAKEFAKEFAKEFAKEFAKEFAKE1234 and the server is at https://admin:hunter2pass@weather.internal.example/api"}}
+{"parentUuid":"u8","isSidechain":false,"type":"user","userType":"external","uuid":"u9","sessionId":"fix-001","timestamp":"2026-06-01T10:12:00.000Z","message":{"role":"user","content":"Actually wait - also add a settings panel so the user can switch cities. My test key is sk-ant-api03-FAKEFAKEFAKEFAKEFAKEFAKE1234 and the server is at https://admin:hunter2pass@weather.internal.example/api"}}