@jenga-ai/agent 3.5.0 → 3.6.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 (94) hide show
  1. package/README.md +85 -78
  2. package/agents/developer.md +1 -1
  3. package/agents/scrum-master.md +20 -2
  4. package/agents/tester.md +3 -3
  5. package/hooks/on_session_end.sh +5 -5
  6. package/lib/generate-agent-context.js +2 -2
  7. package/lib/generate-copilot-hooks.js +1 -1
  8. package/lib/generate-skill-allow-list.js +37 -3
  9. package/lib/mirror.js +1 -1
  10. package/lib/postinstall-manifest.js +1 -1
  11. package/lib/skill-allow-list.json +2 -2
  12. package/mcp/help/index.js +8 -17
  13. package/mcp/help/scan.js +73 -0
  14. package/package.json +6 -1
  15. package/project/app/api/parsers/knowledge-graph.js +100 -9
  16. package/project/app/api/routes/health.js +36 -0
  17. package/project/app/api/scripts/capture-snapshot.js +9 -6
  18. package/project/app/ui/dist/assets/{index-CdK3Qrep.css → index-BVR_7Owg.css} +1 -1
  19. package/project/app/ui/dist/assets/index-CtU2xLQm.js +104 -0
  20. package/project/app/ui/dist/index.html +2 -2
  21. package/project/app/ui/package.json +4 -0
  22. package/project/app/ui/scripts/build-snapshot-html.cjs +63 -2
  23. package/scripts/acquire-concurrency-slot.sh +1 -1
  24. package/scripts/apply-j-prefix.sh +46 -5
  25. package/scripts/audit-twin-divergence.sh +73 -5
  26. package/scripts/build-pages-site.sh +1 -1
  27. package/scripts/check-public-playbook-steps.sh +158 -52
  28. package/scripts/check-publicignore-match.sh +2 -2
  29. package/scripts/compute-deploy-reconcile.sh +5 -5
  30. package/scripts/delete-bare-skill-dirs.sh +330 -0
  31. package/scripts/generate-legacy-shipped-paths.js +2 -2
  32. package/scripts/idea_manager.sh +258 -3
  33. package/scripts/mark-deployed.sh +2 -2
  34. package/scripts/populate-knowledge-graph.entity-resolution.test.js +254 -0
  35. package/scripts/populate-knowledge-graph.js +213 -5
  36. package/scripts/populate-knowledge-graph.staleness.test.js +130 -0
  37. package/scripts/postinstall.js +1 -1
  38. package/scripts/repoint-skill-refs.sh +539 -0
  39. package/scripts/todo_manager.sh +1 -1
  40. package/scripts/verify-legacy-seed-reconcile.sh +10 -10
  41. package/scripts/verify-postinstall-reconcile.sh +7 -7
  42. package/scripts/write-context-digest.sh +1 -1
  43. package/skills/j-clearify/SKILL.md +2 -2
  44. package/skills/j-close-story/scripts/check-privatized.sh +4 -4
  45. package/skills/j-distribute/CONFIG_SCHEMA.md +82 -5
  46. package/skills/j-do/SKILL.md +101 -17
  47. package/skills/j-doc-sync/SKILL.md +1 -0
  48. package/skills/j-gitignore/SKILL.md +157 -0
  49. package/skills/j-gitignore/assets/jenga-paths.txt +50 -0
  50. package/skills/j-gitignore/scripts/_catalog.sh +105 -0
  51. package/skills/j-gitignore/scripts/audit-gitignore.sh +194 -0
  52. package/skills/j-gitignore/scripts/repair-gitignore.sh +226 -0
  53. package/skills/j-gitignore/scripts/untrack-jenga-files.sh +210 -0
  54. package/skills/j-idea/SKILL.md +78 -6
  55. package/skills/j-idea/assets/idea_template.md +1 -1
  56. package/skills/j-improve/SKILL.md +1 -1
  57. package/skills/j-init/SKILL.md +3 -3
  58. package/skills/j-init/assets/scope-thresholds_template.json +5 -2
  59. package/skills/j-init/scripts/apply-scaffold-visibility.sh +1 -1
  60. package/skills/j-init/scripts/init.sh +4 -4
  61. package/skills/j-playbook/SKILL.md +1 -1
  62. package/skills/j-publish/SKILL.md +1 -1
  63. package/skills/j-publish/adapters/npm-ci.md +6 -1
  64. package/skills/j-publish/adapters/npm.md +1 -1
  65. package/skills/j-publish/scripts/generate_release_notes.sh +1 -1
  66. package/skills/j-publish/scripts/npm_stage_inspect.sh +61 -0
  67. package/skills/j-reconcile/SKILL.md +2 -2
  68. package/skills/j-reconcile/scripts/detect-unlinked-code.sh +11 -11
  69. package/skills/j-redo/SKILL.md +1 -1
  70. package/skills/j-spinoff/SKILL.md +1 -1
  71. package/skills/j-status/SKILL.md +15 -0
  72. package/skills/j-todo/SKILL.md +3 -1
  73. package/skills/j-uncharted/SKILL.md +1 -1
  74. package/skills/j-uncharted/scripts/detect-dependencies.sh +1 -1
  75. package/skills/j-uncharted/scripts/detect-tests.sh +1 -1
  76. package/skills/j-uncharted/scripts/elicitation-state.sh +1 -1
  77. package/skills/j-uncharted/scripts/validate-proposed-items.sh +1 -1
  78. package/skills/j-wtf/SKILL.md +1 -1
  79. package/skills/jenga/SKILL.md +43 -9
  80. package/skills/jenga/playbooks/board-hygiene.json +32 -0
  81. package/skills/jenga/playbooks/schema.json +73 -6
  82. package/skills/jenga/playbooks/understand-then-commit.json +19 -0
  83. package/skills/jenga/scripts/load-nl-catalog.sh +1 -1
  84. package/skills/jenga/scripts/load-playbooks.sh +1 -1
  85. package/skills/jenga/scripts/match-playbook.sh +1 -1
  86. package/templates/SCRUM_BOARD_SCHEMA.md +14 -1
  87. package/templates/SKILL_TEMPLATE.md +12 -0
  88. package/templates/permission-levels/level-4-elevated.json +1 -1
  89. package/templates/permission-levels/level-5-unrestricted.json +1 -1
  90. package/templates/playbook-types.json +34 -6
  91. package/project/app/ui/dist/assets/index-7fj-vllY.js +0 -104
  92. package/scripts/generate-j-alias.sh +0 -333
  93. package/skills/j-dev-done/SKILL.md +0 -53
  94. package/skills/j-dev-done/scripts/classify-commit-outcome.sh +0 -114
@@ -1,8 +1,36 @@
1
1
  {
2
- "_comment": "Canonical playbook output-type vocabulary for Epic E53's Playbooks v2 StepObject/output_types contract (E53_S03_T02). Extend this vocabulary by adding entries to the 'types' array below -- NEVER by code changes; skills/jenga/scripts/load-playbooks.sh references this file by name in its own header contract (see that script's 'TYPE REGISTRY' section). Governed by the Scrum Master: registry additions/changes route through the normal board-item process rather than an ungoverned edit to this file -- see docs/skill-authoring.md's 'Playbook Type Registry Governance' section for the full policy.",
3
- "types": [
4
- "text",
5
- "id_list",
6
- "file_list"
7
- ]
2
+ "_comment": "Canonical playbook type registry for Epic E53's Playbooks v2 StepObject/output_types contract (E53_S03_T02), converted from a bare list of type names into a map of type descriptors by E62_S01_T01. -- FORMAT: 'types' maps each type name to a descriptor object {\"verify\": <rule-object|null>, \"normalize\": [<transform-name>, ...]}. Both members are optional in the sense that 'verify' may be null and 'normalize' may be empty; a descriptor never carries any other key. -- VERIFY: null means the type has no checkable shape and runtime verification is a deliberate no-op. Otherwise it is an object whose keys are drawn ONLY from the enumerated 'verify_rules' below. The single rule kind defined today is 'per_line': a regex that every element of the normalized value must match. Regexes here are POSIX ERE, not PCRE -- write [0-9] and [^[:space:]], never \\d or \\S -- because the consuming validator is a shell script (E62_S01_T02). -- NORMALIZE: an ordered list of named transforms applied left to right BEFORE verification. The value is treated as a list of lines; 'split_on_comma' further splits each element on commas, 'trim' strips leading and trailing whitespace from each element, 'drop_empty' removes elements that are empty after trimming. Every entry MUST be a bare identifier matching ^[a-z][a-z0-9_]*$ AND a member of 'normalize_vocabulary' below. That closure is the single most important property of this format: because an entry cannot contain whitespace, a free-text or semantic-extraction instruction (e.g. 'extract the ids the skill meant to return') is STRUCTURALLY UNREPRESENTABLE here, not merely discouraged. LLM-driven auto-conversion and a type-repair skill were both rejected at epic level (E62); a transform name the validator does not implement is a hard error, never a string for anything to interpret. -- THE 'text' RULE: 'text' carries \"verify\": null because prose has no checkable shape. This is NOT a licence to treat 'text' as an 'any' in the load-time compatibility lattice. Unverifiable at runtime: yes. Universal acceptor at load time: no -- a universal acceptor would make every text-declaring skill compatible with everything, disarming exactly what E53_S11's honesty-over-breadth policy protects. -- EXTENDING: adding a TYPE is a DATA-ONLY edit and NEVER a code change -- add a key to 'types' whose verify/normalize are composed from the already-enumerated 'verify_rules' and 'normalize_vocabulary'. Adding a new TRANSFORM or a new RULE KIND is the one thing that does require code, since the validator has to implement it; extend the corresponding enumeration here in that same change. Removing or renaming an existing type is a breaking change: it invalidates every SKILL.md declaring it. skills/jenga/scripts/load-playbooks.sh references this file by name in its own header contract (see that script's 'TYPE REGISTRY' section). -- GOVERNANCE: owned by the Scrum Master. Registry additions or changes route through the normal board-item process rather than an ungoverned edit to this file -- see docs/skill-authoring.md's 'Playbook Type Registry Governance' section for the full policy.",
3
+ "verify_rules": [
4
+ "per_line"
5
+ ],
6
+ "normalize_vocabulary": [
7
+ "split_on_comma",
8
+ "trim",
9
+ "drop_empty"
10
+ ],
11
+ "types": {
12
+ "text": {
13
+ "verify": null,
14
+ "normalize": []
15
+ },
16
+ "id_list": {
17
+ "verify": {
18
+ "per_line": "^E[0-9]+(_S[0-9]+(_T[0-9]+)?)?$"
19
+ },
20
+ "normalize": [
21
+ "split_on_comma",
22
+ "trim",
23
+ "drop_empty"
24
+ ]
25
+ },
26
+ "file_list": {
27
+ "verify": {
28
+ "per_line": "^[^[:space:]]"
29
+ },
30
+ "normalize": [
31
+ "trim",
32
+ "drop_empty"
33
+ ]
34
+ }
35
+ }
8
36
  }