@erclx/aitk 3.23.0 → 3.25.0
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.
- package/claude/.claude-plugin/plugin.json +1 -1
- package/claude/skills/claude-groundwork/REQUIREMENT.md +4 -1
- package/claude/skills/claude-groundwork/SKILL.md +3 -2
- package/docs/agents/routing.md +1 -1
- package/governance/rules/claude/575-hooks.md +17 -0
- package/governance/rules/claude/592-claude-md.md +3 -3
- package/package.json +1 -1
- package/standards/groundwork.md +1 -1
|
@@ -11,6 +11,8 @@ Without this skill, a question nobody has measured is answered with a plan. The
|
|
|
11
11
|
|
|
12
12
|
Two failure modes cost more than the rest. A track that fans out to subagents returns findings without the reasoning that makes the folder worth keeping, which turns a conversation into a search result. And an experiment fixture written under the project root loads that project's own instruction files through the ancestor chain, so the arm measures the repository instead of the question, and the result reads as evidence either way.
|
|
13
13
|
|
|
14
|
+
A track that closes with several separable findings writes only one task, and the rest have no stated route out of the folder. Without one, a finding sits until the operator asks whether filing it elsewhere is the next step, which is how a track that measured everything correctly still lost work between sessions.
|
|
15
|
+
|
|
14
16
|
## Must
|
|
15
17
|
|
|
16
18
|
- Detect open, resume, and close from the folder itself, matching the topic against tracks already there before deriving a slug
|
|
@@ -18,7 +20,8 @@ Two failure modes cost more than the rest. A track that fans out to subagents re
|
|
|
18
20
|
- Apply the qualifying test in open mode alone, so a track already measured is not refused by the test that admitted it
|
|
19
21
|
- Measure the current state now rather than carrying a figure from a previous session
|
|
20
22
|
- Carry a lean and the finding that would overturn it on every open question, or admit that a measurement is missing
|
|
21
|
-
- Confine writes to the track folder, with the close-time task file
|
|
23
|
+
- Confine writes to the track folder, with the close-time task file, the experiment fixture, and the intake routing below as the only exceptions
|
|
24
|
+
- Route a closing-track finding the required task does not cover through `claude-intake`, rather than leaving it to be asked about. The route runs in the same session, so it is a write outside the folder rather than a handoff to a later one.
|
|
22
25
|
- Link every claim about a source outside the project, and list an unread source as a lead rather than citing it
|
|
23
26
|
- Put a fixture a headless run is pointed at outside the repository
|
|
24
27
|
- Write the next-session file self-contained, since the folder is unbacked and dies with the machine
|
|
@@ -91,8 +91,9 @@ The standard sets the open question format and requires it inside a topic file a
|
|
|
91
91
|
1. Write `06-decision.md`. It states the problem once, names the goal, lists what to do, and lists what was considered and dropped.
|
|
92
92
|
2. Write `07-next-session.md` self-contained, so it survives a compaction that loses the conversation.
|
|
93
93
|
3. Update the file map in `README.md`.
|
|
94
|
-
4. Write one task file in `.claude/tasks/` recording what the track concluded, even when the conclusion is to do nothing. Follow `${CLAUDE_SKILL_DIR}/../../standards/tasks.md` for the filename and frontmatter. Aside from an experiment fixture, this
|
|
95
|
-
5.
|
|
94
|
+
4. Write one task file in `.claude/tasks/` recording what the track concluded, even when the conclusion is to do nothing. Follow `${CLAUDE_SKILL_DIR}/../../standards/tasks.md` for the filename and frontmatter. Aside from an experiment fixture, this and the routing in Step 5 are the only ways close mode reaches outside the folder.
|
|
95
|
+
5. When the task written in Step 4 does not cover every finding the track surfaced, route what it leaves out through `claude-intake`. Skip this step when it does.
|
|
96
|
+
6. Report uncited external claims. Closing already reads every file in the folder, so list any statement about a source outside the project that carries neither a link nor a lead entry. Report and do not block, because judging whether a sentence makes an external claim is the call a checker gets wrong.
|
|
96
97
|
|
|
97
98
|
Do not close while an open question quietly fails an outcome. Resolve it, or record it in `06-decision.md` as knowingly accepted.
|
|
98
99
|
|
package/docs/agents/routing.md
CHANGED
|
@@ -5,7 +5,7 @@ description: Reading per CLAUDE.md section how many bullets name a path, what co
|
|
|
5
5
|
|
|
6
6
|
# Routing report
|
|
7
7
|
|
|
8
|
-
`aitk claude routing` reports, per `CLAUDE.md` section, how many top-level bullets name a path and how many of those a path-scoped rule already covers. It answers the tier test in `.claude/rules/claude/592-claude-md.md`,
|
|
8
|
+
`aitk claude routing` reports, per `CLAUDE.md` section, how many top-level bullets name a path and how many of those a path-scoped rule already covers. It answers the firing axis of the tier test in `.claude/rules/claude/592-claude-md.md`, whether a fact applies every session or fires on one path, and which until this verb existed was a judgment nothing counted. `.claude/ARCHITECTURE.md` names two further axes, conditional presence and updatability, that this verb does not check.
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
11
|
aitk claude routing
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: State the hook stdin guard and the silencing rule for .claude/hooks scripts and their seeded copies
|
|
3
|
+
paths:
|
|
4
|
+
- '.claude/hooks/**/*.sh'
|
|
5
|
+
- 'tooling/claude/seeds/.claude/hooks/**/*.sh'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Hook standards
|
|
9
|
+
|
|
10
|
+
## Reading a payload
|
|
11
|
+
|
|
12
|
+
- Open a hook that reads a payload with a bounded `IFS= read -r -d '' -t 2 input`, exiting non-zero on an empty payload. An unbounded `cat` blocks forever against a hand run or an open socket, holding the session open with it. A test already checks this per file across both hook trees, but the rule stops the pattern being rediscovered rather than caught only after the fact.
|
|
13
|
+
|
|
14
|
+
## Silencing output
|
|
15
|
+
|
|
16
|
+
- Before silencing a hook's output, name the stage that catches the same failure. A hook that is the only enforcer of a rule makes its documented guarantee false when it discards that output.
|
|
17
|
+
- Where no other stage catches the failure, capture the output into a variable, exit 0 on success, and emit the error lines as `additionalContext`.
|
|
@@ -12,8 +12,8 @@ paths:
|
|
|
12
12
|
|
|
13
13
|
## Routing
|
|
14
14
|
|
|
15
|
-
- Keep a rule here when it applies every session regardless of what is being edited.
|
|
16
|
-
- Move a rule into `.claude/rules/` when it fires only on a specific path being edited and violating it ships silently.
|
|
17
|
-
- Route a rule failing either half to a context entry or a skill body rather than here.
|
|
15
|
+
- Keep a rule here when it applies every session regardless of what is being edited, on firing alone.
|
|
16
|
+
- Move a rule into `.claude/rules/` when it fires only on a specific path being edited and violating it ships silently, the same firing axis judged the other way.
|
|
17
|
+
- Route a rule failing either half to a context entry or a skill body rather than here. Firing is one axis of three. Conditional presence and updatability are the other two, and this rule states the first alone.
|
|
18
18
|
- Name a rule's tier rather than a rule file. A path-scoped rule reaches the session on its own glob and needs no pointer from here.
|
|
19
19
|
- Point at a skill by name where one applies. A skill loads only when invoked, so an unreferenced skill is one no session finds.
|
package/package.json
CHANGED
package/standards/groundwork.md
CHANGED
|
@@ -156,7 +156,7 @@ A lean is weaker than the suggestion a plan file carries. It records the current
|
|
|
156
156
|
## Conventions
|
|
157
157
|
|
|
158
158
|
- State a number with what it settles. The strongest sections are the ones where a measurement answers a named question and says so.
|
|
159
|
-
-
|
|
159
|
+
- Route a finding that would change an existing standard or rule through `claude-intake`. Only a demonstrated failure changes one.
|
|
160
160
|
- Let the file count follow the number of genuinely separable questions, not the importance of the topic. A large topic with one question is a small folder.
|
|
161
161
|
|
|
162
162
|
## Anti-patterns
|