Skip to content

Commit e8229ce

Browse files
committed
refactor: remove #done tag convention and simplify task archival
[x] is sufficient — #done timestamps were redundant ceremony that agents added inconsistently and git blame already provides. compact --archive now archives all completed tasks regardless of age instead of filtering by archive_after_days. Removes OlderThan, DoneTime, parseDoneTimestamp, TaskDoneTimestamp regex, and all #done references from docs, skills, templates, and examples. Spec: specs/init-plugin-local-enable.md Signed-off-by: Jose Alekhinne <jose@ctx.ist>
1 parent ac30e8b commit e8229ce

20 files changed

Lines changed: 104 additions & 325 deletions

File tree

.context/AGENT_PLAYBOOK.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,14 +181,13 @@ Track task progress with timestamps for session correlation:
181181
```markdown
182182
- [ ] Implement feature X #added:2026-01-25-220332
183183
- [ ] Fix bug Y #added:2026-01-25-220332 #started:2026-01-25-221500
184-
- [x] Refactor Z #added:2026-01-25-200000 #started:2026-01-25-210000 #done:2026-01-25-223045
184+
- [x] Refactor Z #added:2026-01-25-200000 #started:2026-01-25-210000
185185
```
186186

187187
| Tag | When to Add | Format |
188188
|------------|------------------------------------------|----------------------|
189189
| `#added` | Auto-added by `ctx add task` | `YYYY-MM-DD-HHMMSS` |
190190
| `#started` | When you begin working on the task | `YYYY-MM-DD-HHMMSS` |
191-
| `#done` | When you mark the task `[x]` complete | `YYYY-MM-DD-HHMMSS` |
192191

193192
## Collaboration Defaults
194193

.context/TASKS.md

Lines changed: 5 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
UPDATE WHEN:
55
- New work is identified → add task with #added timestamp
66
- Starting work → add #in-progress or #started timestamp
7-
- Work completes → mark [x] with #done timestamp
7+
- Work completes → mark [x]
88
- Work is blocked → add to Blocked section with reason
99
- Scope changes → update task description inline
1010
@@ -27,57 +27,6 @@ TASK STATUS LABELS:
2727

2828
### Misc
2929

30-
- [x] Add session/branch/commit provenance to ctx add task via hook relay and
31-
--session-id/--branch/--commit flags. Spec: specs/task-session-provenance.md
32-
#priority:medium #added:2026-04-06-123642
33-
34-
- [x] Rename 8 skills to ctx-domain-action convention. Rename:
35-
ctx-task-add→ctx-task-add, ctx-decision-add→ctx-decision-add,
36-
ctx-learning-add→ctx-learning-add, ctx-convention-add→ctx-convention-add,
37-
ctx-skill-create→ctx-skill-create,
38-
ctx-permission-sanitize→ctx-permission-sanitize,
39-
ctx-plan-import→ctx-plan-import, ctx-link-check→ctx-link-check. Per skill:
40-
rename directory, update SKILL.md name/description, update cross-references in
41-
all other skills, update docs (not blogs), update AGENT_PLAYBOOK triggers,
42-
update copilot skills if mirrored. Update docs/reference/skills.md,
43-
docs/recipes/*, docs/home/* with new names. Spec:
44-
specs/skill-naming-convention.md #priority:high #session:a92cadca #branch:main
45-
#commit:c4c53c7a #added:2026-04-06-212611
46-
47-
- [x] Harden TestCrossPackageTypes sameModule heuristic: the current check
48-
exempts all intra-module type sharing (e.g. mcp/handler -> mcp/server). This
49-
allowed EntryOpts to live in mcp/handler/types.go while being consumed from
50-
mcp/server/extract — a cross-cutting type that belongs in entity/. The
51-
heuristic should flag types in non-core subpackages that are used from sibling
52-
subpackages within the same module, not just cross-module usage.
53-
#priority:medium #session:a92cadca #branch:main #commit:68fbc00a
54-
#added:2026-04-06-160007
55-
56-
- [x] Bug: ctx init does not write enabledPlugins to settings.local.json. Hooks
57-
from the plugin hooks.json only fire when enabledPlugins lists the plugin in
58-
the project settings. Non-ctx projects initialized with ctx init get empty
59-
hooks. #priority:high #session:a92cadca #branch:main #commit:68fbc00a
60-
#added:2026-04-06-151044
61-
62-
- [x] Wire provenance flags into add skills: update ctx-task-add,
63-
ctx-decision-add, and ctx-learning-add skills to pass --session-id, --branch,
64-
--commit from the hook-relayed provenance line when invoking ctx add. Spec:
65-
specs/task-session-provenance.md #priority:medium #session:a92cadca
66-
#branch:main #commit:68fbc00a #added:2026-04-06-151036
67-
68-
- [x] JSONL schema validation: derive schema from empirical JSONL data, embed in
69-
binary, validate on import (warn, never block), add `ctx journal schema check`
70-
command with nightly drift reports to `.context/reports/schema-drift.md`.
71-
Spec: specs/jsonl-schema-validation.md #priority:medium #session:c536c11d
72-
#branch:main #commit:d6f32c36 #added:2026-04-07-000000 #done:2026-04-07
73-
74-
- [x] JSONL envelope enrichment: capture `planContent`, `isApiErrorMessage`,
75-
`sourceToolAssistantUUID`, `toolUseResult`, `entrypoint`, `origin` from CC
76-
envelope fields. Render plans in journal entries, collapse API errors, add
77-
entrypoint to frontmatter. Spec: specs/jsonl-envelope-enrichment.md
78-
#priority:medium #session:c536c11d #branch:main #commit:d6f32c36
79-
#added:2026-04-07-000000 #done:2026-04-07
80-
8130
### Architecture Docs
8231

8332
- [-] Publish architecture docs to docs/: copy ARCHITECTURE.md,
@@ -90,45 +39,22 @@ TASK STATUS LABELS:
9039
frequently. Syncing to public site creates maintenance burden with no
9140
payoff — contributors read .context/ directly.
9241

93-
- [x] Update ctx-architecture skill to append discovered terms to GLOSSARY.md
94-
during Phase 3. Additive only, max 10 terms per run, project-specific only,
95-
alphabetical insertion, skip if GLOSSARY.md empty. Print added terms in
96-
convergence report. Spec: specs/publish-architecture-docs.md #priority:low
97-
#added:2026-04-03-153000
9842

9943
### Code Cleanup Findings
10044

10145

102-
- [x] Extend flagbind helpers (IntFlag, DurationFlag, DurationFlagP, StringP,
103-
BoolP) and migrate ~50 call sites to unblock TestNoFlagBindOutsideFlagbind
104-
#added:2026-04-01-233250
10546

106-
- [ ] Implement journal compaction: Elastic-style tiered storage with tar.gz
107-
backup. Spec: specs/journal-compact.md #added:2026-03-31-110005
10847

109-
- [x] Refactor 28 grandfathered cmd/ purity violations found by
110-
TestCmdDirPurity: move unexported helpers, exported non-Cmd/Run functions,
111-
and types from cmd/ directories to core/. See grandfathered map in
112-
compliance_test.go for the full list. #priority:medium
113-
#added:2026-03-31-005115
11448

11549

116-
- [x] PD.4.5: Update AGENT_PLAYBOOK.md — add generic "check available skills"
117-
instruction #priority:medium #added:2026-03-25-203340
50+
11851

11952
**PD.5 — Validate:**
12053

12154

12255
### Phase -3: DevEx
12356

124-
- [x] Plugin enablement gap: Ref:
125-
`ideas/plugin-enablement-gap.md`. Local-installed plugins get
126-
registered in `installed_plugins.json` but not auto-added to
127-
`enabledPlugins`, so slash commands are invisible in non-ctx
128-
projects.
12957

130-
- [x] Add cobra Example fields to CLI commands via
131-
examples.yaml #added:2026-03-20-163413
13258

13359
- [ ] Add CLI YAML drift detection test: verify flag names in
13460
examples.yaml match actual registered flags, and Use: patterns
@@ -167,7 +93,7 @@ TASK STATUS LABELS:
16793
tracing, domain clustering comparison, shallow module
16894
deep-dive). Spec: `ideas/spec-architecture-enrich.md`.
16995
Reference implementation: kubernetes-service enrichment pass
170-
2026-03-25. #added:2026-03-25-120000 #done:2026-03-26
96+
2026-03-25. #added:2026-03-25-120000
17197

17298
- [ ]: ctx-architecture-failure-analysis
17399
**Context**: Adversarial analysis skill that identifies where
@@ -379,7 +305,6 @@ Docs are feature-organized, not problem-organized. Key structural improvements:
379305
**Agent Team Strategies** (from `ideas/REPORT-8-agent-teams.md`):
380306
8 team compositions proposed. Reference material, not tasks. Key takeaways:
381307

382-
383308
- [ ] Scan all config/**/* constants and catalog which ones should be ctxrc
384309
entries for user configurability #priority:medium #added:2026-03-22-095552
385310

@@ -639,11 +564,6 @@ Taxonomy (from prefix analysis):
639564
#priority:low #added:2026-03-07-220825
640565

641566

642-
- [x] Add .ctxrc provenance validation config: allow projects to relax required
643-
provenance flags (session, branch, commit) individually via ctxrc fields. CLI
644-
stays strict — no --skip-validation flag. Agent cannot bypass; only human
645-
config relaxes. Default: all three required. #priority:medium
646-
#session:a92cadca #branch:main #commit:68fbc00a #added:2026-04-06-154902
647567

648568

649569
- [ ] SMB mount path support: add `CTX_BACKUP_MOUNT_PATH` env var so
@@ -743,7 +663,8 @@ Taxonomy (from prefix analysis):
743663
(currently only decisions and learnings have index
744664
tables) #added:2026-03-06-190225
745665

746-
666+
- [ ] Implement journal compaction: Elastic-style tiered storage with tar.gz
667+
backup. Spec: specs/journal-compact.md #added:2026-03-31-110005
747668

748669
- [ ] Validate .ctxrc against ctxrc.schema.json at load time — schema is
749670
embedded but never enforced, doctor does field-level checks without using
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Archived Tasks - 2026-04-08
2+
3+
- [x] Add session/branch/commit provenance to ctx add task via hook relay and
4+
--session-id/--branch/--commit flags. Spec: specs/task-session-provenance.md
5+
#priority:medium #added:2026-04-06-123642
6+
- [x] Rename 8 skills to ctx-domain-action convention. Rename:
7+
ctx-task-add→ctx-task-add, ctx-decision-add→ctx-decision-add,
8+
ctx-learning-add→ctx-learning-add, ctx-convention-add→ctx-convention-add,
9+
ctx-skill-create→ctx-skill-create,
10+
ctx-permission-sanitize→ctx-permission-sanitize,
11+
ctx-plan-import→ctx-plan-import, ctx-link-check→ctx-link-check. Per skill:
12+
rename directory, update SKILL.md name/description, update cross-references in
13+
all other skills, update docs (not blogs), update AGENT_PLAYBOOK triggers,
14+
update copilot skills if mirrored. Update docs/reference/skills.md,
15+
docs/recipes/*, docs/home/* with new names. Spec:
16+
specs/skill-naming-convention.md #priority:high #session:a92cadca #branch:main
17+
#commit:c4c53c7a #added:2026-04-06-212611
18+
- [x] Harden TestCrossPackageTypes sameModule heuristic: the current check
19+
exempts all intra-module type sharing (e.g. mcp/handler -> mcp/server). This
20+
allowed EntryOpts to live in mcp/handler/types.go while being consumed from
21+
mcp/server/extract — a cross-cutting type that belongs in entity/. The
22+
heuristic should flag types in non-core subpackages that are used from sibling
23+
subpackages within the same module, not just cross-module usage.
24+
#priority:medium #session:a92cadca #branch:main #commit:68fbc00a
25+
#added:2026-04-06-160007
26+
- [x] Bug: ctx init does not write enabledPlugins to settings.local.json. Hooks
27+
from the plugin hooks.json only fire when enabledPlugins lists the plugin in
28+
the project settings. Non-ctx projects initialized with ctx init get empty
29+
hooks. #priority:high #session:a92cadca #branch:main #commit:68fbc00a
30+
#added:2026-04-06-151044
31+
- [x] Wire provenance flags into add skills: update ctx-task-add,
32+
ctx-decision-add, and ctx-learning-add skills to pass --session-id, --branch,
33+
--commit from the hook-relayed provenance line when invoking ctx add. Spec:
34+
specs/task-session-provenance.md #priority:medium #session:a92cadca
35+
#branch:main #commit:68fbc00a #added:2026-04-06-151036
36+
- [x] JSONL schema validation: derive schema from empirical JSONL data, embed in
37+
binary, validate on import (warn, never block), add `ctx journal schema check`
38+
command with nightly drift reports to `.context/reports/schema-drift.md`.
39+
Spec: specs/jsonl-schema-validation.md #priority:medium #session:c536c11d
40+
#branch:main #commit:d6f32c36 #added:2026-04-07-000000 #done:2026-04-07
41+
- [x] JSONL envelope enrichment: capture `planContent`, `isApiErrorMessage`,
42+
`sourceToolAssistantUUID`, `toolUseResult`, `entrypoint`, `origin` from CC
43+
envelope fields. Render plans in journal entries, collapse API errors, add
44+
entrypoint to frontmatter. Spec: specs/jsonl-envelope-enrichment.md
45+
#priority:medium #session:c536c11d #branch:main #commit:d6f32c36
46+
#added:2026-04-07-000000 #done:2026-04-07
47+
- [x] Update ctx-architecture skill to append discovered terms to GLOSSARY.md
48+
during Phase 3. Additive only, max 10 terms per run, project-specific only,
49+
alphabetical insertion, skip if GLOSSARY.md empty. Print added terms in
50+
convergence report. Spec: specs/publish-architecture-docs.md #priority:low
51+
#added:2026-04-03-153000
52+
- [x] Extend flagbind helpers (IntFlag, DurationFlag, DurationFlagP, StringP,
53+
BoolP) and migrate ~50 call sites to unblock TestNoFlagBindOutsideFlagbind
54+
#added:2026-04-01-233250
55+
- [x] Refactor 28 grandfathered cmd/ purity violations found by
56+
TestCmdDirPurity: move unexported helpers, exported non-Cmd/Run functions,
57+
and types from cmd/ directories to core/. See grandfathered map in
58+
compliance_test.go for the full list. #priority:medium
59+
#added:2026-03-31-005115
60+
- [x] PD.4.5: Update AGENT_PLAYBOOK.md — add generic "check available skills"
61+
instruction #priority:medium #added:2026-03-25-203340
62+
- [x] Plugin enablement gap: Ref:
63+
`ideas/plugin-enablement-gap.md`. Local-installed plugins get
64+
registered in `installed_plugins.json` but not auto-added to
65+
`enabledPlugins`, so slash commands are invisible in non-ctx
66+
projects.
67+
- [x] Add cobra Example fields to CLI commands via
68+
examples.yaml #added:2026-03-20-163413
69+
- [x] Add .ctxrc provenance validation config: allow projects to relax required
70+
provenance flags (session, branch, commit) individually via ctxrc fields. CLI
71+
stays strict — no --skip-validation flag. Agent cannot bypass; only human
72+
config relaxes. Default: all three required. #priority:medium
73+
#session:a92cadca #branch:main #commit:68fbc00a #added:2026-04-06-154902

docs/home/context-files.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ Use inline backtick-wrapped tags for metadata:
157157
|------------|----------------------|------------------------------------|
158158
| `#added` | `YYYY-MM-DD-HHMMSS` | Auto-added by `ctx add task` |
159159
| `#started` | `YYYY-MM-DD-HHMMSS` | When beginning work on the task |
160-
| `#done` | `YYYY-MM-DD-HHMMSS` | When marking the task `[x]` |
161160

162161
These timestamps help correlate tasks with session files and track which
163162
session started vs completed work.

docs/recipes/autonomous-loops.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ instructions:
382382

383383
| Milestone | What the agent does proactively |
384384
|----------------------------|---------------------------------------------------------|
385-
| Completes a task | Marks it `[x]` in `TASKS.md` with `#done` timestamp |
385+
| Completes a task | Marks it `[x]` in `TASKS.md` |
386386
| Discovers a gotcha | Adds it to `LEARNINGS.md` |
387387
| Makes a design choice | Records it in `DECISIONS.md` with rationale |
388388
| Identifies follow-up work | Creates new tasks in `TASKS.md` with `#added` timestamp |
@@ -397,7 +397,7 @@ Iteration 4:
397397
1. Read TASKS.md -> pick "Add email verification" (#priority:high)
398398
2. Add #started:2026-01-25-030012 to the task
399399
3. Implement the feature (code, tests, docs if needed)
400-
4. Tests pass -> mark task [x], add #done:2026-01-25-031544
400+
4. Tests pass -> mark task [x]
401401
5. Add learning: "SMTP config must be set before verification handler registers. Order matters in init()."
402402
6. Add decision: "Use token-based verification links (not codes) because links work better in automated tests."
403403
7. Create follow-up task: "Add rate limiting to verification endpoint" #added:...

docs/recipes/task-management.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ status is tracked via checkboxes and inline tags.
105105
```markdown
106106
## Phase 1: Core CLI
107107

108-
- [x] Implement ctx add command `#done:2026-02-01-143022`
109-
- [x] Implement ctx task complete command `#done:2026-02-03-091544`
108+
- [x] Implement ctx add command
109+
- [x] Implement ctx task complete command
110110
- [ ] Add --section flag to ctx add task `#priority:medium`
111111

112112
## Phase 2: AI Integration
@@ -183,9 +183,8 @@ ctx task complete 3
183183
ctx task complete "agent cooldown"
184184
```
185185

186-
The task's checkbox changes from `[ ]` to `[x]` and a `#done` timestamp is
187-
added. Tasks are never deleted: they stay in their phase section so history is
188-
preserved.
186+
The task's checkbox changes from `[ ]` to `[x]`. Tasks are never deleted: they
187+
stay in their phase section so history is preserved.
189188

190189
!!! tip "Be Conversational"
191190
You rarely need to run `ctx task complete` yourself during an interactive session.

examples/demo/.context/AGENT_PLAYBOOK.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,13 @@ Track task progress with timestamps for session correlation:
117117
```markdown
118118
- [ ] Implement feature X #added:2026-01-25-220332
119119
- [ ] Fix bug Y #added:2026-01-25-220332 #started:2026-01-25-221500
120-
- [x] Refactor Z #added:2026-01-25-200000 #started:2026-01-25-210000 #done:2026-01-25-223045
120+
- [x] Refactor Z #added:2026-01-25-200000 #started:2026-01-25-210000
121121
```
122122

123123
| Tag | When to Add | Format |
124124
|------------|------------------------------------------|----------------------|
125125
| `#added` | Auto-added by `ctx add task` | `YYYY-MM-DD-HHMMSS` |
126126
| `#started` | When you begin working on the task | `YYYY-MM-DD-HHMMSS` |
127-
| `#done` | When you mark the task `[x]` complete | `YYYY-MM-DD-HHMMSS` |
128127

129128
## How to Avoid Hallucinating Memory
130129

examples/demo/.context/TASKS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ Current work items, organized by phase. Tasks stay in their phase permanently.
44

55
## Phase 1: Foundation
66

7-
- [x] Initial project setup #added:2026-01-01-090000 #done:2026-01-01-120000
8-
- [x] Database schema design #added:2026-01-01-090000 #done:2026-01-02-150000
9-
- [x] Core API scaffolding #added:2026-01-01-090000 #done:2026-01-03-110000
7+
- [x] Initial project setup #added:2026-01-01-090000
8+
- [x] Database schema design #added:2026-01-01-090000
9+
- [x] Core API scaffolding #added:2026-01-01-090000
1010

1111
## Phase 2: Authentication
1212

13-
- [x] Implement user registration #added:2026-01-04-100000 #done:2026-01-05-140000
13+
- [x] Implement user registration #added:2026-01-04-100000
1414
- [ ] Implement OAuth2 login #added:2026-01-04-100000 #in-progress
1515
- [ ] Add session management #added:2026-01-04-100000
1616

examples/demo/PROMPT.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ go vet ./... # No vet errors
6161
## PHASE 4: UPDATE CONTEXT
6262

6363
1. Mark completed task `[x]` in `.context/TASKS.md`
64-
2. Add `#done:YYYY-MM-DD-HHMMSS` timestamp
65-
3. If you made an architectural decision → add to `.context/DECISIONS.md`
64+
2. If you made an architectural decision → add to `.context/DECISIONS.md`
6665
4. If you learned a gotcha → add to `.context/LEARNINGS.md`
6766

6867
**EXIT.** Do not continue to next task. The loop will restart you.

examples/demo/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Tasks in `TASKS.md` stay in their phase permanently. Use inline labels
5757
```markdown
5858
## Phase 2: Authentication
5959

60-
- [x] Implement user registration #added:2026-01-04-100000 #done:2026-01-05-140000
60+
- [x] Implement user registration #added:2026-01-04-100000
6161
- [ ] Implement OAuth2 login #added:2026-01-04-100000 #in-progress
6262
- [ ] Add session management #added:2026-01-04-100000
6363
```

0 commit comments

Comments
 (0)