@erclx/aitk 1.1.0 → 1.2.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.
Files changed (66) hide show
  1. package/claude/.claude-plugin/plugin.json +1 -1
  2. package/claude/skills/claude-address-review/SKILL.md +5 -6
  3. package/claude/skills/claude-autoship/SKILL.md +2 -2
  4. package/claude/skills/claude-design-extract/SKILL.md +3 -5
  5. package/claude/skills/claude-diagram/SKILL.md +2 -2
  6. package/claude/skills/claude-docs/SKILL.md +11 -11
  7. package/claude/skills/claude-feature/SKILL.md +3 -3
  8. package/claude/skills/claude-groundwork/SKILL.md +2 -2
  9. package/claude/skills/claude-intake/SKILL.md +1 -1
  10. package/claude/skills/claude-intake-answer/SKILL.md +1 -1
  11. package/claude/skills/claude-memory-capture/SKILL.md +7 -9
  12. package/claude/skills/claude-memory-review/SKILL.md +6 -8
  13. package/claude/skills/claude-memory-review/references/receipt-format.md +1 -1
  14. package/claude/skills/claude-orchestrate/SKILL.md +3 -3
  15. package/claude/skills/claude-orchestrate/references/orchestrator-handoff.md +1 -1
  16. package/claude/skills/claude-orchestrate/references/orchestrator-resume.md +1 -1
  17. package/claude/skills/claude-pr-review/SKILL.md +2 -2
  18. package/claude/skills/claude-review/SKILL.md +1 -1
  19. package/claude/skills/claude-seed-sync/SKILL.md +1 -1
  20. package/claude/skills/claude-standards-audit/SKILL.md +4 -4
  21. package/claude/skills/claude-tasks/SKILL.md +34 -9
  22. package/claude/skills/claude-teach/SKILL.md +2 -2
  23. package/claude/skills/claude-ui-test/SKILL.md +1 -1
  24. package/claude/skills/claude-ux-audit/SKILL.md +2 -4
  25. package/claude/skills/claude-ux-measure/SKILL.md +1 -1
  26. package/claude/skills/claude-worktree/SKILL.md +3 -3
  27. package/claude/skills/create-rule/SKILL.md +2 -2
  28. package/claude/skills/create-skill/SKILL.md +4 -6
  29. package/claude/skills/create-snippet/SKILL.md +1 -3
  30. package/claude/skills/create-standard/SKILL.md +2 -4
  31. package/claude/skills/decision-escalate/SKILL.md +1 -1
  32. package/claude/skills/docs-sync/SKILL.md +3 -5
  33. package/claude/skills/git-commit/SKILL.md +1 -3
  34. package/claude/skills/git-followup/SKILL.md +1 -1
  35. package/claude/skills/git-issue/SKILL.md +2 -4
  36. package/claude/skills/git-pr/SKILL.md +4 -6
  37. package/claude/skills/git-split/SKILL.md +1 -1
  38. package/claude/skills/git-stage/SKILL.md +1 -3
  39. package/claude/skills/migration-claude-md/SKILL.md +2 -2
  40. package/claude/skills/session-resume/SKILL.md +1 -1
  41. package/claude/skills/setup-gov/SKILL.md +1 -1
  42. package/claude/skills/setup-indexes/SKILL.md +1 -1
  43. package/claude/skills/write-human/SKILL.md +2 -2
  44. package/docs/agents/markdown-audit.md +3 -1
  45. package/docs/target-projects.md +3 -3
  46. package/governance/rules/claude/501-markdown.md +1 -1
  47. package/governance/rules/claude/510-context.md +1 -1
  48. package/governance/rules/claude/520-wireframes.md +1 -1
  49. package/governance/rules/claude/530-requirements.md +1 -1
  50. package/governance/rules/claude/540-architecture.md +1 -1
  51. package/governance/rules/claude/550-design.md +1 -1
  52. package/governance/rules/claude/555-tasks.md +1 -1
  53. package/governance/rules/claude/556-groundwork.md +1 -1
  54. package/governance/rules/claude/557-intake.md +1 -1
  55. package/governance/rules/claude/558-plan.md +1 -1
  56. package/governance/rules/claude/559-memory.md +1 -1
  57. package/governance/rules/claude/560-diagrams.md +1 -1
  58. package/governance/rules/claude/561-teach.md +1 -1
  59. package/governance/rules/claude/562-session.md +1 -1
  60. package/governance/rules/claude/570-skill.md +1 -1
  61. package/governance/rules/claude/580-readme.md +1 -1
  62. package/governance/rules/claude/590-rule-authoring.md +1 -1
  63. package/governance/rules/claude/591-standard-authoring.md +1 -1
  64. package/package.json +1 -1
  65. package/src/markdown/structure.ts +39 -4
  66. package/standards/tasks.md +3 -1
@@ -9,7 +9,7 @@ paths:
9
9
 
10
10
  ## Authority
11
11
 
12
- - Follow `.claude/standards/diagrams.md` for Mermaid diagram layout, budgets, accessibility, verification, and explanation prose. It is the single source.
12
+ - Follow the diagrams standard for Mermaid diagram layout, budgets, accessibility, verification, and explanation prose. It is the single source. Read it with `aitk standards diagrams`.
13
13
  - A diagram entry carries structure and flow, not implementation. Read the standard before adding or revising a kind.
14
14
 
15
15
  ## Scope
@@ -16,6 +16,6 @@ paths:
16
16
 
17
17
  ## Authority
18
18
 
19
- - Follow `.claude/standards/teach.md` for the folder layout, ordinal naming, frontmatter, and the mission and learning-record formats. It is the single source.
19
+ - Follow the teach standard for the folder layout, ordinal naming, frontmatter, and the mission and learning-record formats. It is the single source. Read it with `aitk standards teach`.
20
20
  - Read `references/glossary.md` inside the `claude-teach` skill for the glossary every workspace carries at its root. It is the single source for the entry shape, the ordering, and which terms the file carries. Read it rather than invoking the skill, which resumes a workspace and runs lessons.
21
21
  - Report it rather than proceeding silently when that file does not resolve. It ships with the plugin and this rule ships with the CLI, so a project that installed governance alone does not have it.
@@ -16,4 +16,4 @@ paths:
16
16
 
17
17
  ## Authority
18
18
 
19
- - Follow `.claude/standards/session.md` for the filename and location, frontmatter, the core sections, and the write and read procedures. It is the single source.
19
+ - Follow the session standard for the filename and location, frontmatter, the core sections, and the write and read procedures. It is the single source. Read it with `aitk standards session`.
@@ -20,4 +20,4 @@ paths:
20
20
 
21
21
  ## Authority
22
22
 
23
- - Follow `.claude/standards/skill.md` for skill structure, frontmatter fields, invocation rules, and the shape a `REQUIREMENT.md` states. It is the single source.
23
+ - Follow the skill standard for skill structure, frontmatter fields, invocation rules, and the shape a `REQUIREMENT.md` states. It is the single source. Read it with `aitk standards skill`.
@@ -16,4 +16,4 @@ paths:
16
16
 
17
17
  ## Authority
18
18
 
19
- - Follow `.claude/standards/readme.md` for voice, structure, required and optional sections, heading hierarchy, badge classes, per-project-type content, and what to link out rather than inline. It is the single source.
19
+ - Follow the readme standard for voice, structure, required and optional sections, heading hierarchy, badge classes, per-project-type content, and what to link out rather than inline. It is the single source. Read it with `aitk standards readme`.
@@ -19,5 +19,5 @@ paths:
19
19
 
20
20
  ## Authority
21
21
 
22
- - Follow `.claude/standards/rule.md` for rule frontmatter, body shape, and voice. It is the single source.
22
+ - Follow the rule-authoring standard for rule frontmatter, body shape, and voice. It is the single source. Read it with `aitk standards rule`.
23
23
  - Read it before writing or editing a rule. Do not work the shape from memory.
@@ -17,5 +17,5 @@ paths:
17
17
 
18
18
  ## Authority
19
19
 
20
- - Follow `.claude/standards/standard.md` for a standard's frontmatter, shape, scope, and success criterion. It is the single source.
20
+ - Follow the standard-authoring standard for a standard's frontmatter, shape, scope, and success criterion. It is the single source. Read it with `aitk standards standard`.
21
21
  - Read it before writing or editing a standard. Do not work the shape from memory.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@erclx/aitk",
3
3
  "type": "module",
4
- "version": "1.1.0",
4
+ "version": "1.2.0",
5
5
  "description": "Infrastructure and quality tooling for developer workflows",
6
6
  "license": "MIT",
7
7
  "bin": {
@@ -536,10 +536,45 @@ function measureParagraph(block: readonly BodyLine[]): CadenceFinding {
536
536
  * absence of something, so no addition to that set catches a paragraph whose
537
537
  * sentences are all one length. The measure stops at what is countable. A
538
538
  * sentence's grammatical shape and whether it carries a finite verb are the two
539
- * rules `write-human` states that this does not implement, because identifying
540
- * either needs a parse rather than a match, and an imperative or a heading
541
- * fragment would read as a defect. Reporting them wrong is worse than not
542
- * reporting them, since they name the exact failure this exists to measure.
539
+ * rules `write-human` states that this does not implement. Reporting them wrong
540
+ * is worse than not reporting them, since they name the exact failure this
541
+ * exists to measure.
542
+ *
543
+ * That was a prediction and it has now been measured, against two parsers
544
+ * rather than against the idea of one. Both ran over 11,389 paragraph sentences
545
+ * across 503 markdown files at `c7e92612` on 2026-08-20, and they disagree by
546
+ * a factor of four on a number one of them has to be wrong about.
547
+ *
548
+ * `compromise` reported 2 percent. It tags a fronted past participle as a
549
+ * finite past-tense verb, so all twelve of those sentences in
550
+ * `.claude/ARCHITECTURE.md` read as carrying one, eleven opening `Measured at`
551
+ * and one `Overturned by`, which is the exact shape the measure exists to
552
+ * catch. It is not even consistent with itself there: `Measured at` tags a verb
553
+ * and `Measured against` tags an adjective.
554
+ *
555
+ * `wink-pos-tagger` reported 9 percent and fixes that class, tagging the
556
+ * participle `VBN`. Roughly three quarters of what it flags is still wrong:
557
+ * hand-classifying every 21st of the 1,071 flagged sentences put 12 of 51
558
+ * genuinely verbless. Two classes split the other 39 almost evenly and neither
559
+ * is a tuning problem. Nineteen are imperatives, which this instructional
560
+ * corpus is full of and whose verb tags as a proper noun as often as a verb.
561
+ * Twenty are ordinary declaratives whose predicate is noun-ambiguous and tags
562
+ * as a noun outright, so `Each maps to a skill.` and `Nothing checks either
563
+ * one.` both report verbless. This corpus is built from exactly those words:
564
+ * reports, answers, checks, maps, holds, names, carries, records, measures.
565
+ *
566
+ * Separating them needs to know which token is the predicate, which is syntax
567
+ * rather than a tag. Neither tagger carries one and nothing was found worth
568
+ * taking for a number nothing gates on, so the rule the deferral set is met and
569
+ * still returns no: a parse was tried, twice, and neither produced a number
570
+ * worth printing beside two that hold.
571
+ *
572
+ * Where a shape sits is a different question and is already answered. A heading
573
+ * fragment, a list item, and a table cell are all legitimately verbless and
574
+ * none of them reaches this measure, because `paragraphBlocks` ends a paragraph
575
+ * on each. That exclusion is structural and needs no grammar. The imperative is
576
+ * the one that sits in paragraph prose, and it is what neither parser could
577
+ * separate out.
543
578
  *
544
579
  * A paragraph under the floor is skipped rather than scored. A two-sentence
545
580
  * configuration note has no spread worth reading, and the opener rule is
@@ -207,7 +207,9 @@ Why this task exists and what it depends on.
207
207
 
208
208
  Every task names where it came from, through a `Plan:`, `Groundwork:`, `Intake:`, or `Issue:` line under the title. Include each only when the file, folder, or issue it names exists.
209
209
 
210
- A task with no origin is either lost context or work nobody decided to do. The invariant runs both ways, and the second direction is the one that bites: a groundwork track or an open issue that no task points at is work already decided and on its way to being forgotten. An intake folder is exempt from that direction, since it dispositions many items at once and most of them close without ever becoming a task.
210
+ A task with no origin is either lost context or work nobody decided to do. The invariant runs both ways, and the second direction is the one that bites: a groundwork track, an intake folder, or an open issue that no task points at is work already decided and on its way to being forgotten.
211
+
212
+ An intake folder answers that direction at folder scope rather than item scope, since one dump dispositions many items and most close without ever becoming a task. What names a folder is every item answered and no task citing it, on the board or in the archive. That is a dump nobody acted on. Counting the archive beside the board is what separates it from one already promoted and shipped, and a check reading the board alone calls every finished folder abandoned.
211
213
 
212
214
  `Plan:`, `Groundwork:`, and `Intake:` name their target as a markdown link whose text is the file or folder stem, so the line resolves on a ctrl-click the way `priority.md` rows already do. Write the path relative to `.claude/tasks/`, which makes it `../plans/`, `../groundwork/`, and `../intake/`. A path written from the project root renders as a link and resolves to nothing in an editor rooted at the project. `Issue:` stays a bare `#NNN`, since an issue number is not a path and a full URL would write the remote into a gitignored file.
213
215