icm-workspace-template 0.9.0__tar.gz
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.
- icm_workspace_template-0.9.0/LICENSE +21 -0
- icm_workspace_template-0.9.0/NOTICE +13 -0
- icm_workspace_template-0.9.0/PKG-INFO +274 -0
- icm_workspace_template-0.9.0/README.md +241 -0
- icm_workspace_template-0.9.0/icm/__init__.py +3 -0
- icm_workspace_template-0.9.0/icm/__main__.py +7 -0
- icm_workspace_template-0.9.0/icm/cli.py +347 -0
- icm_workspace_template-0.9.0/icm/legacy_tools/validate_icm_workspace.py +113 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/.github/prompts/design-icm-workspace.prompt.md +11 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/.github/prompts/review-icm-output.prompt.md +16 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/.github/prompts/run-icm-stage.prompt.md +17 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/.gitignore +10 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/AGENTS.md +32 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/CONTEXT.md +44 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/README.md +81 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/_config/glossary.md +11 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/_config/operating-rules.md +20 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/_config/project-profile.md +36 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/_config/quality-gates.md +27 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/_config/style-guide.md +19 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/_templates/decision-log-entry.md +15 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/_templates/project-readme.md +21 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/_templates/review-note.md +28 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/_templates/run-brief.md +35 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/_templates/stage-context.md +39 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/shared/README.md +10 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/shared/backlog.md +6 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/shared/decision-log.md +6 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/shared/glossary.md +6 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/00_intake/CONTEXT.md +37 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/00_intake/output/project-brief.md +32 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/00_intake/references/intake-checklist.md +12 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/01_discovery/CONTEXT.md +39 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/01_discovery/output/.gitkeep +1 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/01_discovery/references/discovery-question-bank.md +27 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/01_discovery/references/discovery-report-rubric.md +33 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/02_stage_mapping/CONTEXT.md +38 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/02_stage_mapping/output/.gitkeep +1 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/02_stage_mapping/references/stage-patterns.md +15 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/03_scaffold/CONTEXT.md +38 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/03_scaffold/output/.gitkeep +1 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/03_scaffold/references/scaffold-rules.md +28 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/04_questionnaire/CONTEXT.md +37 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/04_questionnaire/output/.gitkeep +1 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/04_questionnaire/references/questionnaire-patterns.md +24 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/05_validation/CONTEXT.md +39 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/05_validation/output/.gitkeep +1 -0
- icm_workspace_template-0.9.0/icm/templates/icm-workspace/stages/05_validation/references/validation-checklist.md +26 -0
- icm_workspace_template-0.9.0/icm/workspace.py +980 -0
- icm_workspace_template-0.9.0/icm_workspace_template.egg-info/PKG-INFO +274 -0
- icm_workspace_template-0.9.0/icm_workspace_template.egg-info/SOURCES.txt +57 -0
- icm_workspace_template-0.9.0/icm_workspace_template.egg-info/dependency_links.txt +1 -0
- icm_workspace_template-0.9.0/icm_workspace_template.egg-info/entry_points.txt +2 -0
- icm_workspace_template-0.9.0/icm_workspace_template.egg-info/requires.txt +8 -0
- icm_workspace_template-0.9.0/icm_workspace_template.egg-info/top_level.txt +1 -0
- icm_workspace_template-0.9.0/pyproject.toml +69 -0
- icm_workspace_template-0.9.0/setup.cfg +4 -0
- icm_workspace_template-0.9.0/tests/test_cli.py +68 -0
- icm_workspace_template-0.9.0/tests/test_workspace.py +243 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Hobo and ICM Reusable Template contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
This repository is an independent reusable template based on:
|
|
2
|
+
|
|
3
|
+
Jake Van Clief and David McDermott. "Interpretable Context Methodology:
|
|
4
|
+
Folder Structure as Agent Architecture." arXiv:2603.16021v2, 18 Mar. 2026.
|
|
5
|
+
|
|
6
|
+
Paper: https://arxiv.org/html/2603.16021v2
|
|
7
|
+
Original protocol repository listed in the paper:
|
|
8
|
+
https://github.com/RinDig/Interpretable-Context-Methodology-ICM-
|
|
9
|
+
|
|
10
|
+
The paper describes the ICM protocol as open source under the MIT license.
|
|
11
|
+
This repository adapts the methodology into a model-neutral starter template;
|
|
12
|
+
it is not an official ICM protocol repository unless later stated by the
|
|
13
|
+
original authors.
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: icm-workspace-template
|
|
3
|
+
Version: 0.9.0
|
|
4
|
+
Summary: CLI and reusable template for Interpretable Context Methodology workspaces
|
|
5
|
+
Author: Hobo
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Changelog, https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template/blob/main/CHANGELOG.md
|
|
8
|
+
Project-URL: Documentation, https://stickwithfiddle-sys.github.io/interpretable-context-methodology-template/
|
|
9
|
+
Project-URL: Homepage, https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template
|
|
10
|
+
Project-URL: Issues, https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template/issues
|
|
11
|
+
Project-URL: Paper, https://arxiv.org/html/2603.16021v2
|
|
12
|
+
Project-URL: Repository, https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template
|
|
13
|
+
Keywords: interpretable-context-methodology,icm,ai-agents,context-engineering,agent-workflows
|
|
14
|
+
Classifier: Development Status :: 3 - Alpha
|
|
15
|
+
Classifier: Environment :: Console
|
|
16
|
+
Classifier: Intended Audience :: Developers
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
22
|
+
Classifier: Topic :: Text Processing :: Markup :: Markdown
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE
|
|
26
|
+
License-File: NOTICE
|
|
27
|
+
Provides-Extra: dev
|
|
28
|
+
Requires-Dist: build>=1; extra == "dev"
|
|
29
|
+
Requires-Dist: pytest>=8; extra == "dev"
|
|
30
|
+
Requires-Dist: tomli>=2; python_version < "3.11" and extra == "dev"
|
|
31
|
+
Requires-Dist: twine>=5; extra == "dev"
|
|
32
|
+
Dynamic: license-file
|
|
33
|
+
|
|
34
|
+
# Interpretable Context Methodology (ICM) Reusable Template
|
|
35
|
+
|
|
36
|
+
Beginner-friendly starter kit for building filesystem-based AI agent workflows with [Interpretable Context Methodology](https://arxiv.org/html/2603.16021v2).
|
|
37
|
+
|
|
38
|
+
Think of ICM as Trello meets Makefile meets agent prompts: each numbered folder is a step in the workflow, each `CONTEXT.md` file says what that step does, and each `output/` folder is a human-reviewable handoff.
|
|
39
|
+
|
|
40
|
+
## Start Here
|
|
41
|
+
|
|
42
|
+
Install the CLI from the latest GitHub release in a virtual environment:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
python -m venv .venv
|
|
46
|
+
source .venv/bin/activate
|
|
47
|
+
python -m pip install git+https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template.git@v0.9.0
|
|
48
|
+
icm new my-first-icm-workspace --name "My First ICM Workspace"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Then open the new folder and fill in:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
my-first-icm-workspace/stages/00_intake/output/project-brief.md
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Ask your coding agent:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
Read AGENTS.md and CONTEXT.md, then run stages/00_intake.
|
|
61
|
+
Write only the declared outputs, run the Verify checks, and stop at the Review Gate.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Finally, validate the workspace structure:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
icm validate my-first-icm-workspace --strict
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Expected output:
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
OK: workspace passed validation with 0 warning(s)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
On Windows PowerShell, use backslashes if you prefer:
|
|
77
|
+
|
|
78
|
+
```powershell
|
|
79
|
+
python -m venv .venv
|
|
80
|
+
.\.venv\Scripts\Activate.ps1
|
|
81
|
+
python -m pip install git+https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template.git@v0.9.0
|
|
82
|
+
icm new my-first-icm-workspace --name "My First ICM Workspace"
|
|
83
|
+
icm validate my-first-icm-workspace --strict
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
If you are developing from this repo, install the editable package:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
python -m venv .venv
|
|
90
|
+
source .venv/bin/activate
|
|
91
|
+
python -m pip install -e ".[dev]"
|
|
92
|
+
icm status examples/completed-content-plan
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
To install from GitHub instead of cloning first, see [docs/install.md](docs/install.md). The visual docs site is published at [stickwithfiddle-sys.github.io/interpretable-context-methodology-template](https://stickwithfiddle-sys.github.io/interpretable-context-methodology-template/).
|
|
96
|
+
|
|
97
|
+
## Why This Exists
|
|
98
|
+
|
|
99
|
+
Most agent workflows become hard to inspect once the logic lives inside a chat thread, framework state, or hidden prompt chain. ICM keeps the workflow visible:
|
|
100
|
+
|
|
101
|
+
- Stages are folders.
|
|
102
|
+
- Agent instructions are markdown.
|
|
103
|
+
- Inputs and outputs are plain files.
|
|
104
|
+
- Humans review artifacts between steps.
|
|
105
|
+
- Repeated fixes move upstream into reusable source files.
|
|
106
|
+
|
|
107
|
+
This is useful for research synthesis, planning, content production, documentation systems, policy workflows, analysis pipelines, and any project where each intermediate artifact should be readable before the next step runs.
|
|
108
|
+
|
|
109
|
+
## Five-Layer Mental Model
|
|
110
|
+
|
|
111
|
+
```mermaid
|
|
112
|
+
flowchart TD
|
|
113
|
+
L0["Layer 0: AGENTS.md<br/>Workspace identity and operating rules"]
|
|
114
|
+
L1["Layer 1: CONTEXT.md<br/>Routing and stage index"]
|
|
115
|
+
L2["Layer 2: stages/NN_slug/CONTEXT.md<br/>One stage contract"]
|
|
116
|
+
L3["Layer 3: _config/, shared/, references/<br/>Stable rules and reusable context"]
|
|
117
|
+
L4["Layer 4: output/<br/>Working artifacts and handoffs"]
|
|
118
|
+
|
|
119
|
+
L0 --> L1 --> L2
|
|
120
|
+
L2 --> L3
|
|
121
|
+
L2 --> L4
|
|
122
|
+
L4 --> NEXT["Next numbered stage"]
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
The most important habit: do not ask the agent to load everything. Ask it to follow the current stage contract.
|
|
126
|
+
|
|
127
|
+
## Learn By Example
|
|
128
|
+
|
|
129
|
+
Start with these files:
|
|
130
|
+
|
|
131
|
+
| File | Use |
|
|
132
|
+
| --- | --- |
|
|
133
|
+
| [docs/first-workspace.md](docs/first-workspace.md) | Step-by-step first run tutorial |
|
|
134
|
+
| [docs/glossary.md](docs/glossary.md) | Plain-language definitions of ICM terms |
|
|
135
|
+
| [docs/install.md](docs/install.md) | GitHub, virtualenv, and local install options |
|
|
136
|
+
| [docs/index.html](docs/index.html) | GitHub Pages visual docs homepage |
|
|
137
|
+
| [examples/completed-content-plan](examples/completed-content-plan) | Completed example workspace with filled stage outputs |
|
|
138
|
+
| [examples/completed-research-brief](examples/completed-research-brief) | Completed research-brief example with review rubrics |
|
|
139
|
+
| [docs/dashboard-direction.md](docs/dashboard-direction.md) | Dashboard direction and readiness criteria |
|
|
140
|
+
| [docs/product-direction.md](docs/product-direction.md) | UX/product roadmap, including Hermes Agent-inspired ideas |
|
|
141
|
+
| [docs/revision-audit.md](docs/revision-audit.md) | Current product audit, UX assessment, and next direction options |
|
|
142
|
+
| [docs/release-process.md](docs/release-process.md) | Versioning, release, and GitHub workflow checklist |
|
|
143
|
+
| [docs/source-traceability.md](docs/source-traceability.md) | How outputs cite the files and decisions they rely on |
|
|
144
|
+
| [docs/review-rubrics.md](docs/review-rubrics.md) | Artifact-specific `icm review` rubric format |
|
|
145
|
+
| [docs/pypi-readiness.md](docs/pypi-readiness.md) | Package checks and Trusted Publishing setup |
|
|
146
|
+
| [docs/research-summary.md](docs/research-summary.md) | Practical summary of the ICM paper |
|
|
147
|
+
| [docs/template-design.md](docs/template-design.md) | Design decisions behind this starter kit |
|
|
148
|
+
|
|
149
|
+
## CLI MVP
|
|
150
|
+
|
|
151
|
+
The product path is the `icm` CLI:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
python -m icm new ../demo --name "Demo"
|
|
155
|
+
python -m icm init ../existing-project --name "Existing Project"
|
|
156
|
+
python -m icm validate ../demo --strict
|
|
157
|
+
python -m icm status ../demo
|
|
158
|
+
python -m icm next ../demo
|
|
159
|
+
python -m icm explain stages/01_discovery --workspace ../demo
|
|
160
|
+
python -m icm review stages/01_discovery --workspace ../demo
|
|
161
|
+
python -m icm doctor ../demo
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
After installing in a virtual environment with `python -m pip install -e ".[dev]"`, the same commands are available as:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
icm new ../demo --name "Demo"
|
|
168
|
+
icm init ../existing-project --name "Existing Project"
|
|
169
|
+
icm validate ../demo --strict
|
|
170
|
+
icm status ../demo
|
|
171
|
+
icm next ../demo
|
|
172
|
+
icm explain stages/01_discovery --workspace ../demo
|
|
173
|
+
icm review stages/01_discovery --workspace ../demo
|
|
174
|
+
icm doctor ../demo
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## What Is Included
|
|
178
|
+
|
|
179
|
+
```text
|
|
180
|
+
templates/icm-workspace/
|
|
181
|
+
AGENTS.md Layer 0: workspace identity and agent operating rules
|
|
182
|
+
CONTEXT.md Layer 1: routing and stage index
|
|
183
|
+
_config/ Layer 3: stable project rules and reusable preferences
|
|
184
|
+
_templates/ Reusable markdown templates for new stages and reviews
|
|
185
|
+
shared/ Cross-stage notes, decisions, backlog, and glossary
|
|
186
|
+
stages/ Layer 2 stage contracts and Layer 4 output folders
|
|
187
|
+
.github/prompts/ Optional VS Code prompt files for running/reviewing stages
|
|
188
|
+
examples/
|
|
189
|
+
completed-content-plan/ Filled example workspace for a small content workflow
|
|
190
|
+
completed-research-brief/ Filled example workspace for a research brief workflow
|
|
191
|
+
tools/
|
|
192
|
+
check_docs_site.py Validates GitHub Pages homepage references
|
|
193
|
+
check_release_readiness.py Checks version, metadata, docs, and publish workflow readiness
|
|
194
|
+
new_icm_workspace.py Copies the template into a new project folder
|
|
195
|
+
validate_icm_workspace.py Checks stage naming, contracts, and handoff folders
|
|
196
|
+
icm/
|
|
197
|
+
cli.py Product CLI for new, validate, status, next, explain, review, doctor
|
|
198
|
+
tests/
|
|
199
|
+
test_cli.py CLI behavior coverage
|
|
200
|
+
test_workspace.py Workspace helper and review coverage
|
|
201
|
+
docs/
|
|
202
|
+
index.html GitHub Pages visual docs homepage
|
|
203
|
+
first-workspace.md Beginner tutorial
|
|
204
|
+
dashboard-direction.md Dashboard readiness notes
|
|
205
|
+
glossary.md Plain-language terms
|
|
206
|
+
install.md Install options and package smoke checks
|
|
207
|
+
product-direction.md UX and product roadmap
|
|
208
|
+
pypi-readiness.md PyPI package publishing checklist
|
|
209
|
+
release-process.md GitHub and versioning workflow
|
|
210
|
+
review-rubrics.md Artifact-specific review rubric format
|
|
211
|
+
source-traceability.md Source citation pattern for reviewable outputs
|
|
212
|
+
research-summary.md Practical findings extracted from the paper
|
|
213
|
+
template-design.md Design decisions and adaptation notes
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Builder Pipeline
|
|
217
|
+
|
|
218
|
+
The included template is a workspace-builder. Its output is a project-specific ICM workspace.
|
|
219
|
+
|
|
220
|
+
| Stage | Purpose | Main Output |
|
|
221
|
+
| --- | --- | --- |
|
|
222
|
+
| `00_intake` | Capture the project brief and constraints | `project-brief.md` |
|
|
223
|
+
| `01_discovery` | Identify domain, users, deliverables, risks, and workflow shape | `discovery-report.md` |
|
|
224
|
+
| `02_stage_mapping` | Choose natural breakpoints, review gates, and handoffs | `stage-map.md` |
|
|
225
|
+
| `03_scaffold` | Define the project workspace tree and stage contracts | `scaffold-plan.md` |
|
|
226
|
+
| `04_questionnaire` | Produce setup questions and reference-material prompts | `setup-questionnaire.md` |
|
|
227
|
+
| `05_validation` | Dry-run the workflow and report gaps before use | `validation-report.md` |
|
|
228
|
+
|
|
229
|
+
## Common Mistakes
|
|
230
|
+
|
|
231
|
+
| Mistake | Better Move |
|
|
232
|
+
| --- | --- |
|
|
233
|
+
| Asking the agent to "do the whole project" | Ask it to run one numbered stage and stop at the review gate |
|
|
234
|
+
| Treating `output/` files as disposable | Review and edit them; they are the audit trail |
|
|
235
|
+
| Putting project rules in a chat message | Put stable rules in `_config/`, `shared/`, or `references/` |
|
|
236
|
+
| Adding a stage for every tiny task | Add a stage only when there is a real handoff, context boundary, or review point |
|
|
237
|
+
| Fixing the same output issue repeatedly | Update the stage `CONTEXT.md` or reference file so future runs improve |
|
|
238
|
+
| Loading the whole repo for every step | Load only the files listed in the current stage's Inputs table |
|
|
239
|
+
|
|
240
|
+
## When To Use ICM
|
|
241
|
+
|
|
242
|
+
Use ICM when a workflow is sequential, reviewable, and repeatable: one stage produces a plain-text artifact, a human can inspect or edit it, and the next stage reads that artifact as input.
|
|
243
|
+
|
|
244
|
+
Use a conventional framework instead when you need real-time multi-agent collaboration, high-concurrency service infrastructure, automated branching based on model decisions, or tight message-passing loops.
|
|
245
|
+
|
|
246
|
+
## Status
|
|
247
|
+
|
|
248
|
+
Experimental starter kit. The template is intended to make ICM easy to try, inspect, and adapt; it is not an official release of the original ICM protocol.
|
|
249
|
+
|
|
250
|
+
Current package version: `0.9.0`.
|
|
251
|
+
|
|
252
|
+
Release notes live in [CHANGELOG.md](CHANGELOG.md). Contribution and review practices live in [CONTRIBUTING.md](CONTRIBUTING.md) and [docs/release-process.md](docs/release-process.md).
|
|
253
|
+
|
|
254
|
+
Repository safety practices live in [SECURITY.md](SECURITY.md) and [.github/CODEOWNERS](.github/CODEOWNERS). Public users can open issues, forks, and pull requests, but they cannot directly change protected `main` without maintainer-controlled review and passing checks.
|
|
255
|
+
|
|
256
|
+
Maintained by Hobo.
|
|
257
|
+
|
|
258
|
+
## Research Basis
|
|
259
|
+
|
|
260
|
+
The ICM paper was authored by Jake Van Clief and David McDermott. It argues for five design principles: one stage, one job; plain text as the interface; layered context loading; every output as an edit surface; and configuring the factory rather than each product. This template applies those principles with a model-neutral `AGENTS.md` Layer 0 file, explicit stage contracts, scoped Layer 3 references, Layer 4 output handoffs, and a validator script.
|
|
261
|
+
|
|
262
|
+
See [docs/research-summary.md](docs/research-summary.md) for the research notes and [docs/template-design.md](docs/template-design.md) for implementation choices.
|
|
263
|
+
|
|
264
|
+
## Attribution
|
|
265
|
+
|
|
266
|
+
This project is an independent reusable template based on the paper:
|
|
267
|
+
|
|
268
|
+
> Jake Van Clief and David McDermott. "Interpretable Context Methodology: Folder Structure as Agent Architecture." arXiv:2603.16021v2, 18 Mar. 2026.
|
|
269
|
+
|
|
270
|
+
The ICM protocol referenced by the paper is described as open source under the MIT license. This repository is a derived starter template and should not be read as an official repository or endorsement by the paper authors.
|
|
271
|
+
|
|
272
|
+
## License
|
|
273
|
+
|
|
274
|
+
MIT. See [LICENSE](LICENSE).
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
# Interpretable Context Methodology (ICM) Reusable Template
|
|
2
|
+
|
|
3
|
+
Beginner-friendly starter kit for building filesystem-based AI agent workflows with [Interpretable Context Methodology](https://arxiv.org/html/2603.16021v2).
|
|
4
|
+
|
|
5
|
+
Think of ICM as Trello meets Makefile meets agent prompts: each numbered folder is a step in the workflow, each `CONTEXT.md` file says what that step does, and each `output/` folder is a human-reviewable handoff.
|
|
6
|
+
|
|
7
|
+
## Start Here
|
|
8
|
+
|
|
9
|
+
Install the CLI from the latest GitHub release in a virtual environment:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
python -m venv .venv
|
|
13
|
+
source .venv/bin/activate
|
|
14
|
+
python -m pip install git+https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template.git@v0.9.0
|
|
15
|
+
icm new my-first-icm-workspace --name "My First ICM Workspace"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Then open the new folder and fill in:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
my-first-icm-workspace/stages/00_intake/output/project-brief.md
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Ask your coding agent:
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
Read AGENTS.md and CONTEXT.md, then run stages/00_intake.
|
|
28
|
+
Write only the declared outputs, run the Verify checks, and stop at the Review Gate.
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Finally, validate the workspace structure:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
icm validate my-first-icm-workspace --strict
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Expected output:
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
OK: workspace passed validation with 0 warning(s)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
On Windows PowerShell, use backslashes if you prefer:
|
|
44
|
+
|
|
45
|
+
```powershell
|
|
46
|
+
python -m venv .venv
|
|
47
|
+
.\.venv\Scripts\Activate.ps1
|
|
48
|
+
python -m pip install git+https://github.com/stickwithfiddle-sys/interpretable-context-methodology-template.git@v0.9.0
|
|
49
|
+
icm new my-first-icm-workspace --name "My First ICM Workspace"
|
|
50
|
+
icm validate my-first-icm-workspace --strict
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If you are developing from this repo, install the editable package:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
python -m venv .venv
|
|
57
|
+
source .venv/bin/activate
|
|
58
|
+
python -m pip install -e ".[dev]"
|
|
59
|
+
icm status examples/completed-content-plan
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
To install from GitHub instead of cloning first, see [docs/install.md](docs/install.md). The visual docs site is published at [stickwithfiddle-sys.github.io/interpretable-context-methodology-template](https://stickwithfiddle-sys.github.io/interpretable-context-methodology-template/).
|
|
63
|
+
|
|
64
|
+
## Why This Exists
|
|
65
|
+
|
|
66
|
+
Most agent workflows become hard to inspect once the logic lives inside a chat thread, framework state, or hidden prompt chain. ICM keeps the workflow visible:
|
|
67
|
+
|
|
68
|
+
- Stages are folders.
|
|
69
|
+
- Agent instructions are markdown.
|
|
70
|
+
- Inputs and outputs are plain files.
|
|
71
|
+
- Humans review artifacts between steps.
|
|
72
|
+
- Repeated fixes move upstream into reusable source files.
|
|
73
|
+
|
|
74
|
+
This is useful for research synthesis, planning, content production, documentation systems, policy workflows, analysis pipelines, and any project where each intermediate artifact should be readable before the next step runs.
|
|
75
|
+
|
|
76
|
+
## Five-Layer Mental Model
|
|
77
|
+
|
|
78
|
+
```mermaid
|
|
79
|
+
flowchart TD
|
|
80
|
+
L0["Layer 0: AGENTS.md<br/>Workspace identity and operating rules"]
|
|
81
|
+
L1["Layer 1: CONTEXT.md<br/>Routing and stage index"]
|
|
82
|
+
L2["Layer 2: stages/NN_slug/CONTEXT.md<br/>One stage contract"]
|
|
83
|
+
L3["Layer 3: _config/, shared/, references/<br/>Stable rules and reusable context"]
|
|
84
|
+
L4["Layer 4: output/<br/>Working artifacts and handoffs"]
|
|
85
|
+
|
|
86
|
+
L0 --> L1 --> L2
|
|
87
|
+
L2 --> L3
|
|
88
|
+
L2 --> L4
|
|
89
|
+
L4 --> NEXT["Next numbered stage"]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The most important habit: do not ask the agent to load everything. Ask it to follow the current stage contract.
|
|
93
|
+
|
|
94
|
+
## Learn By Example
|
|
95
|
+
|
|
96
|
+
Start with these files:
|
|
97
|
+
|
|
98
|
+
| File | Use |
|
|
99
|
+
| --- | --- |
|
|
100
|
+
| [docs/first-workspace.md](docs/first-workspace.md) | Step-by-step first run tutorial |
|
|
101
|
+
| [docs/glossary.md](docs/glossary.md) | Plain-language definitions of ICM terms |
|
|
102
|
+
| [docs/install.md](docs/install.md) | GitHub, virtualenv, and local install options |
|
|
103
|
+
| [docs/index.html](docs/index.html) | GitHub Pages visual docs homepage |
|
|
104
|
+
| [examples/completed-content-plan](examples/completed-content-plan) | Completed example workspace with filled stage outputs |
|
|
105
|
+
| [examples/completed-research-brief](examples/completed-research-brief) | Completed research-brief example with review rubrics |
|
|
106
|
+
| [docs/dashboard-direction.md](docs/dashboard-direction.md) | Dashboard direction and readiness criteria |
|
|
107
|
+
| [docs/product-direction.md](docs/product-direction.md) | UX/product roadmap, including Hermes Agent-inspired ideas |
|
|
108
|
+
| [docs/revision-audit.md](docs/revision-audit.md) | Current product audit, UX assessment, and next direction options |
|
|
109
|
+
| [docs/release-process.md](docs/release-process.md) | Versioning, release, and GitHub workflow checklist |
|
|
110
|
+
| [docs/source-traceability.md](docs/source-traceability.md) | How outputs cite the files and decisions they rely on |
|
|
111
|
+
| [docs/review-rubrics.md](docs/review-rubrics.md) | Artifact-specific `icm review` rubric format |
|
|
112
|
+
| [docs/pypi-readiness.md](docs/pypi-readiness.md) | Package checks and Trusted Publishing setup |
|
|
113
|
+
| [docs/research-summary.md](docs/research-summary.md) | Practical summary of the ICM paper |
|
|
114
|
+
| [docs/template-design.md](docs/template-design.md) | Design decisions behind this starter kit |
|
|
115
|
+
|
|
116
|
+
## CLI MVP
|
|
117
|
+
|
|
118
|
+
The product path is the `icm` CLI:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
python -m icm new ../demo --name "Demo"
|
|
122
|
+
python -m icm init ../existing-project --name "Existing Project"
|
|
123
|
+
python -m icm validate ../demo --strict
|
|
124
|
+
python -m icm status ../demo
|
|
125
|
+
python -m icm next ../demo
|
|
126
|
+
python -m icm explain stages/01_discovery --workspace ../demo
|
|
127
|
+
python -m icm review stages/01_discovery --workspace ../demo
|
|
128
|
+
python -m icm doctor ../demo
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
After installing in a virtual environment with `python -m pip install -e ".[dev]"`, the same commands are available as:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
icm new ../demo --name "Demo"
|
|
135
|
+
icm init ../existing-project --name "Existing Project"
|
|
136
|
+
icm validate ../demo --strict
|
|
137
|
+
icm status ../demo
|
|
138
|
+
icm next ../demo
|
|
139
|
+
icm explain stages/01_discovery --workspace ../demo
|
|
140
|
+
icm review stages/01_discovery --workspace ../demo
|
|
141
|
+
icm doctor ../demo
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## What Is Included
|
|
145
|
+
|
|
146
|
+
```text
|
|
147
|
+
templates/icm-workspace/
|
|
148
|
+
AGENTS.md Layer 0: workspace identity and agent operating rules
|
|
149
|
+
CONTEXT.md Layer 1: routing and stage index
|
|
150
|
+
_config/ Layer 3: stable project rules and reusable preferences
|
|
151
|
+
_templates/ Reusable markdown templates for new stages and reviews
|
|
152
|
+
shared/ Cross-stage notes, decisions, backlog, and glossary
|
|
153
|
+
stages/ Layer 2 stage contracts and Layer 4 output folders
|
|
154
|
+
.github/prompts/ Optional VS Code prompt files for running/reviewing stages
|
|
155
|
+
examples/
|
|
156
|
+
completed-content-plan/ Filled example workspace for a small content workflow
|
|
157
|
+
completed-research-brief/ Filled example workspace for a research brief workflow
|
|
158
|
+
tools/
|
|
159
|
+
check_docs_site.py Validates GitHub Pages homepage references
|
|
160
|
+
check_release_readiness.py Checks version, metadata, docs, and publish workflow readiness
|
|
161
|
+
new_icm_workspace.py Copies the template into a new project folder
|
|
162
|
+
validate_icm_workspace.py Checks stage naming, contracts, and handoff folders
|
|
163
|
+
icm/
|
|
164
|
+
cli.py Product CLI for new, validate, status, next, explain, review, doctor
|
|
165
|
+
tests/
|
|
166
|
+
test_cli.py CLI behavior coverage
|
|
167
|
+
test_workspace.py Workspace helper and review coverage
|
|
168
|
+
docs/
|
|
169
|
+
index.html GitHub Pages visual docs homepage
|
|
170
|
+
first-workspace.md Beginner tutorial
|
|
171
|
+
dashboard-direction.md Dashboard readiness notes
|
|
172
|
+
glossary.md Plain-language terms
|
|
173
|
+
install.md Install options and package smoke checks
|
|
174
|
+
product-direction.md UX and product roadmap
|
|
175
|
+
pypi-readiness.md PyPI package publishing checklist
|
|
176
|
+
release-process.md GitHub and versioning workflow
|
|
177
|
+
review-rubrics.md Artifact-specific review rubric format
|
|
178
|
+
source-traceability.md Source citation pattern for reviewable outputs
|
|
179
|
+
research-summary.md Practical findings extracted from the paper
|
|
180
|
+
template-design.md Design decisions and adaptation notes
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Builder Pipeline
|
|
184
|
+
|
|
185
|
+
The included template is a workspace-builder. Its output is a project-specific ICM workspace.
|
|
186
|
+
|
|
187
|
+
| Stage | Purpose | Main Output |
|
|
188
|
+
| --- | --- | --- |
|
|
189
|
+
| `00_intake` | Capture the project brief and constraints | `project-brief.md` |
|
|
190
|
+
| `01_discovery` | Identify domain, users, deliverables, risks, and workflow shape | `discovery-report.md` |
|
|
191
|
+
| `02_stage_mapping` | Choose natural breakpoints, review gates, and handoffs | `stage-map.md` |
|
|
192
|
+
| `03_scaffold` | Define the project workspace tree and stage contracts | `scaffold-plan.md` |
|
|
193
|
+
| `04_questionnaire` | Produce setup questions and reference-material prompts | `setup-questionnaire.md` |
|
|
194
|
+
| `05_validation` | Dry-run the workflow and report gaps before use | `validation-report.md` |
|
|
195
|
+
|
|
196
|
+
## Common Mistakes
|
|
197
|
+
|
|
198
|
+
| Mistake | Better Move |
|
|
199
|
+
| --- | --- |
|
|
200
|
+
| Asking the agent to "do the whole project" | Ask it to run one numbered stage and stop at the review gate |
|
|
201
|
+
| Treating `output/` files as disposable | Review and edit them; they are the audit trail |
|
|
202
|
+
| Putting project rules in a chat message | Put stable rules in `_config/`, `shared/`, or `references/` |
|
|
203
|
+
| Adding a stage for every tiny task | Add a stage only when there is a real handoff, context boundary, or review point |
|
|
204
|
+
| Fixing the same output issue repeatedly | Update the stage `CONTEXT.md` or reference file so future runs improve |
|
|
205
|
+
| Loading the whole repo for every step | Load only the files listed in the current stage's Inputs table |
|
|
206
|
+
|
|
207
|
+
## When To Use ICM
|
|
208
|
+
|
|
209
|
+
Use ICM when a workflow is sequential, reviewable, and repeatable: one stage produces a plain-text artifact, a human can inspect or edit it, and the next stage reads that artifact as input.
|
|
210
|
+
|
|
211
|
+
Use a conventional framework instead when you need real-time multi-agent collaboration, high-concurrency service infrastructure, automated branching based on model decisions, or tight message-passing loops.
|
|
212
|
+
|
|
213
|
+
## Status
|
|
214
|
+
|
|
215
|
+
Experimental starter kit. The template is intended to make ICM easy to try, inspect, and adapt; it is not an official release of the original ICM protocol.
|
|
216
|
+
|
|
217
|
+
Current package version: `0.9.0`.
|
|
218
|
+
|
|
219
|
+
Release notes live in [CHANGELOG.md](CHANGELOG.md). Contribution and review practices live in [CONTRIBUTING.md](CONTRIBUTING.md) and [docs/release-process.md](docs/release-process.md).
|
|
220
|
+
|
|
221
|
+
Repository safety practices live in [SECURITY.md](SECURITY.md) and [.github/CODEOWNERS](.github/CODEOWNERS). Public users can open issues, forks, and pull requests, but they cannot directly change protected `main` without maintainer-controlled review and passing checks.
|
|
222
|
+
|
|
223
|
+
Maintained by Hobo.
|
|
224
|
+
|
|
225
|
+
## Research Basis
|
|
226
|
+
|
|
227
|
+
The ICM paper was authored by Jake Van Clief and David McDermott. It argues for five design principles: one stage, one job; plain text as the interface; layered context loading; every output as an edit surface; and configuring the factory rather than each product. This template applies those principles with a model-neutral `AGENTS.md` Layer 0 file, explicit stage contracts, scoped Layer 3 references, Layer 4 output handoffs, and a validator script.
|
|
228
|
+
|
|
229
|
+
See [docs/research-summary.md](docs/research-summary.md) for the research notes and [docs/template-design.md](docs/template-design.md) for implementation choices.
|
|
230
|
+
|
|
231
|
+
## Attribution
|
|
232
|
+
|
|
233
|
+
This project is an independent reusable template based on the paper:
|
|
234
|
+
|
|
235
|
+
> Jake Van Clief and David McDermott. "Interpretable Context Methodology: Folder Structure as Agent Architecture." arXiv:2603.16021v2, 18 Mar. 2026.
|
|
236
|
+
|
|
237
|
+
The ICM protocol referenced by the paper is described as open source under the MIT license. This repository is a derived starter template and should not be read as an official repository or endorsement by the paper authors.
|
|
238
|
+
|
|
239
|
+
## License
|
|
240
|
+
|
|
241
|
+
MIT. See [LICENSE](LICENSE).
|