Skip to content

Commit 655eb62

Browse files
committed
Archive root TODO history
1 parent 59bacac commit 655eb62

12 files changed

Lines changed: 851 additions & 282 deletions
Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
# SOW-0002 - Root TODO Classification
2+
3+
## Status
4+
5+
Status: completed
6+
7+
Sub-state: root TODO history was archived under `.agents/sow/todo-history/`.
8+
9+
## Requirements
10+
11+
### Purpose
12+
13+
Preserve existing root TODO project memory while moving future work into the SOW system intentionally, without losing active investigation context.
14+
15+
### User Request
16+
17+
The user requested moving all root `TODO-*` files into `.agents/sow/todo-history/`.
18+
19+
### Assistant Understanding
20+
21+
Facts:
22+
23+
- Multiple `TODO-*` files exist at the project root.
24+
- `TODO-perf-parity.md` contains Windows performance-parity investigation notes and experiment results.
25+
- The bootstrap pass did not move, delete, or rewrite existing project memory without explicit approval.
26+
- The user has now explicitly approved moving all root `TODO-*` files into `.agents/sow/todo-history/`.
27+
- One matching file, `TODO-perf-parity.md`, is untracked but is still covered by the user's "all TODO-*" request.
28+
- Sensitive-data scanning found old TODO content with the user's personal name and workstation-specific paths, which durable artifacts must not carry.
29+
30+
Inferences:
31+
32+
- The approved archive move preserves the TODO history without forcing classification into separate implementation SOWs in this pass.
33+
- Personal and workstation-specific strings can be mechanically redacted without changing technical intent.
34+
35+
Unknowns:
36+
37+
- No unresolved product decision remains for this pass.
38+
39+
### Acceptance Criteria
40+
41+
- All root `TODO-*` files are moved into `.agents/sow/todo-history/` with content preserved except required personal/workstation redactions.
42+
- No root `TODO-*` files remain.
43+
- The archive location is recorded in project instructions.
44+
- No content is lost.
45+
46+
## Analysis
47+
48+
Sources checked:
49+
50+
- `TODO-perf-parity.md`
51+
- `find . -maxdepth 1 -type f -name 'TODO-*'`
52+
- `git ls-files -- 'TODO-*'`
53+
- Sensitive-data scan over root `TODO-*` files, `AGENTS.md`, and this SOW.
54+
55+
Current state:
56+
57+
- Root TODO files present before execution:
58+
- `TODO-coverity-findings.md`
59+
- `TODO-fit-for-purpose-validation.md`
60+
- `TODO-integrator-skill.md`
61+
- `TODO-netdata-master-backport.md`
62+
- `TODO-netdata-plugin-ipc-integration.md`
63+
- `TODO-pending-from-rewrite.md`
64+
- `TODO-perf-parity.md`
65+
- `TODO-plugin-ipc.history.md`
66+
- `TODO-unified-l2-l3-api.md`
67+
68+
Risks:
69+
70+
- Leaving root TODO files in place keeps old project memory outside the SOW area the user requested.
71+
- Moving without updating `AGENTS.md` would leave stale instructions that say the root TODO files are preserved in place.
72+
- Committing unredacted TODO history would preserve personal/workstation strings in durable artifacts.
73+
74+
## Pre-Implementation Gate
75+
76+
Status: ready
77+
78+
Problem / root-cause model:
79+
80+
- Root `TODO-*` files are legacy project memory from before the SOW archive became authoritative for this work.
81+
- The repository already has this SOW to track their classification or migration.
82+
- The user has now selected the archive outcome: move all root `TODO-*` files to `.agents/sow/todo-history/`.
83+
- Evidence: the root has nine matching files, eight are tracked and `TODO-perf-parity.md` is untracked.
84+
85+
Evidence reviewed:
86+
87+
- `.agents/sow/current/SOW-0002-20260501-root-todo-classification.md`
88+
- `AGENTS.md`
89+
- `find . -maxdepth 1 -type f -name 'TODO-*'`
90+
- `git ls-files -- 'TODO-*'`
91+
- Sensitive-data scan over root `TODO-*` files and this SOW.
92+
93+
Affected contracts and surfaces:
94+
95+
- Root repository file layout.
96+
- `.agents/sow/todo-history/` archive content.
97+
- `AGENTS.md` project-specific TODO preservation instructions.
98+
- This SOW's lifecycle, status, validation, and closure.
99+
100+
Existing patterns to reuse:
101+
102+
- SOW status and directory consistency rules from `AGENTS.md`.
103+
- Existing SOW lifecycle: move from `pending/` to `current/`, then to `done/` with `Status: completed`.
104+
- Existing `.agents/sow/audit.sh` validation for root TODO files and SOW consistency.
105+
106+
Risk and blast radius:
107+
108+
- Low code/runtime blast radius because no build, source, protocol, test, or API files are changed.
109+
- Moderate process blast radius because archived notes become committed SOW history and must avoid sensitive/personal data.
110+
- The untracked `TODO-perf-parity.md` will become tracked if moved and committed; this is intentional because the user requested all root `TODO-*` files be moved.
111+
112+
Sensitive data handling plan:
113+
114+
- Do not read or commit `.env`.
115+
- Do not write the user's personal name to repository artifacts.
116+
- Mechanically redact old TODO references to the user's name and workstation paths before commit.
117+
- Use generic placeholders such as `user`, `/home/user`, `/c/Users/user`, and `C:\msys64\home\user` where preserving path shape is useful.
118+
- Re-run sensitive-data scans over the moved archive, `AGENTS.md`, and this SOW before commit.
119+
120+
Implementation plan:
121+
122+
1. Create `.agents/sow/todo-history/`.
123+
2. Move every root `TODO-*` file into `.agents/sow/todo-history/`, including the untracked performance-parity note.
124+
3. Redact personal/workstation strings in the archived TODO files.
125+
4. Update `AGENTS.md` so project instructions point to the archived TODO location.
126+
5. Complete and move this SOW to `.agents/sow/done/`.
127+
128+
Validation plan:
129+
130+
- Confirm `find . -maxdepth 1 -type f -name 'TODO-*'` returns no root TODO files.
131+
- Confirm `.agents/sow/todo-history/` contains the nine expected `TODO-*` files.
132+
- Run sensitive-data scan over the archived TODO files, `AGENTS.md`, and this SOW.
133+
- Run `bash .agents/sow/audit.sh`.
134+
- Run `git diff --check`.
135+
136+
Artifact impact plan:
137+
138+
- AGENTS.md: update root TODO preservation notes to reference `.agents/sow/todo-history/`.
139+
- Runtime project skills: no runtime project skills exist, and this move does not create reusable workflow behavior.
140+
- Specs: no protocol/API/transport/data-format behavior changes.
141+
- End-user/operator docs: no end-user/operator surface changes.
142+
- End-user/operator skills: no output/reference skill behavior changes.
143+
- SOW lifecycle: move this SOW from pending to current, mark in-progress, then complete and move to done with the archive move.
144+
145+
Open-source reference evidence:
146+
147+
- Not relevant; this is repository housekeeping of existing local project notes.
148+
149+
Open decisions:
150+
151+
- Resolved: the user explicitly requested moving all root `TODO-*` files to `.agents/sow/todo-history/`.
152+
153+
## Implications And Decisions
154+
155+
1. Root TODO archive decision
156+
- Selected: move all root `TODO-*` files to `.agents/sow/todo-history/`.
157+
- Evidence: the user requested this exact move on 2026-06-03.
158+
- Implication: root TODO notes leave the repository root and become SOW-managed history.
159+
- Risk handled: old personal/workstation strings are redacted before commit.
160+
161+
## Plan
162+
163+
1. Move every root `TODO-*` file to `.agents/sow/todo-history/`.
164+
2. Redact personal/workstation strings in the archived notes.
165+
3. Update project instructions to reference the archive location.
166+
4. Validate root cleanup, archive contents, sensitive-data hygiene, diff hygiene, and SOW audit.
167+
5. Complete this SOW and commit the archive move, instruction update, and SOW close together.
168+
169+
## Execution Log
170+
171+
### 2026-06-03
172+
173+
- Moved all nine root `TODO-*` files into `.agents/sow/todo-history/`.
174+
- Included `TODO-perf-parity.md`, which matched the user's request even though it was previously untracked.
175+
- Mechanically redacted personal-name and workstation-username strings in the archived TODO notes.
176+
- Updated `AGENTS.md` so project instructions point to `.agents/sow/todo-history/` instead of stale root TODO files.
177+
- Completed this SOW for the archive move.
178+
179+
## Validation
180+
181+
Acceptance criteria evidence:
182+
183+
- `find . -maxdepth 1 -type f -name 'TODO-*'` returned zero root TODO files.
184+
- `.agents/sow/todo-history/` contains the nine expected archived files:
185+
- `TODO-coverity-findings.md`
186+
- `TODO-fit-for-purpose-validation.md`
187+
- `TODO-integrator-skill.md`
188+
- `TODO-netdata-master-backport.md`
189+
- `TODO-netdata-plugin-ipc-integration.md`
190+
- `TODO-pending-from-rewrite.md`
191+
- `TODO-perf-parity.md`
192+
- `TODO-plugin-ipc.history.md`
193+
- `TODO-unified-l2-l3-api.md`
194+
- `AGENTS.md` now identifies `.agents/sow/todo-history/` as the archived TODO history location.
195+
196+
Tests or equivalent validation:
197+
198+
- `git diff --check` passed.
199+
- Sensitive-data scan over `AGENTS.md`, this SOW, and `.agents/sow/todo-history/` returned no matches for raw token assignment patterns or private-key markers.
200+
- Personal/workstation string scan over `AGENTS.md`, this SOW, and `.agents/sow/todo-history/` returned no matches.
201+
202+
Real-use evidence:
203+
204+
- Local filesystem layout now matches the requested archive path.
205+
206+
Reviewer findings:
207+
208+
- No external reviewer was run because this is repository housekeeping only; no source, protocol, API, runtime, benchmark, or test behavior changed.
209+
210+
Same-failure scan:
211+
212+
- Root TODO scan returned zero matching files, so the stale root TODO pattern is removed.
213+
- Personal/workstation string scan returned no matches in the changed durable artifacts.
214+
215+
Sensitive data gate:
216+
217+
- `.env` was not read or committed.
218+
- No raw secrets, credential assignments, bearer tokens, private keys, personal-name strings, or workstation-username paths were found in the changed durable artifacts after redaction.
219+
220+
Artifact maintenance gate:
221+
222+
- AGENTS.md: updated to describe `.agents/sow/todo-history/` as archived TODO history.
223+
- Runtime project skills: no runtime project skills exist, and no reusable repo workflow changed.
224+
- Specs: not affected; this move does not change protocol, API, wire format, transport, or operational guarantees.
225+
- End-user/operator docs: not affected; this move is internal repository housekeeping.
226+
- End-user/operator skills: not affected; no public/operator workflow changed.
227+
- SOW lifecycle: this SOW is marked `completed` and moved to `.agents/sow/done/` together with the archive move.
228+
229+
Specs update:
230+
231+
- Not needed; no product, protocol, API, transport, data-format, or operational behavior changed.
232+
233+
Project skills update:
234+
235+
- Not needed; no runtime project skill exists and no reusable working procedure was introduced.
236+
237+
End-user/operator docs update:
238+
239+
- Not needed; no end-user/operator documentation surface changed.
240+
241+
End-user/operator skills update:
242+
243+
- Not needed; no output/reference skill behavior changed.
244+
245+
Lessons:
246+
247+
- Old project memory may contain personal/workstation strings even when it is only being moved; archive moves still need sensitive-data scanning before commit.
248+
249+
Follow-up mapping:
250+
251+
- No deferred item remains in this SOW. Future classification or migration of archived notes requires a new explicit SOW.
252+
253+
## Outcome
254+
255+
All root `TODO-*` files were moved into `.agents/sow/todo-history/`, archived TODO content was sanitized for personal/workstation strings, and project instructions now point to the archive location.
256+
257+
## Lessons Extracted
258+
259+
- Treat archived notes as durable repository artifacts and scan them before committing.
260+
261+
## Followup
262+
263+
None.

0 commit comments

Comments
 (0)