handyman-harness 3.0.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 (54) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +17 -0
  3. package/README.md +32 -0
  4. package/assets/AGENTS.template.md +36 -0
  5. package/assets/CHECKPOINTS.template.md +32 -0
  6. package/assets/backlog-explore.template.md +29 -0
  7. package/assets/backlog-impl.template.md +24 -0
  8. package/assets/backlog-review.template.md +35 -0
  9. package/assets/docs-architecture.template.md +23 -0
  10. package/assets/docs-business.template.md +67 -0
  11. package/assets/docs-conventions.template.md +28 -0
  12. package/assets/docs-verification.template.md +25 -0
  13. package/assets/feature-request.template.md +170 -0
  14. package/assets/feature_list.template.json +33 -0
  15. package/assets/harness.config.global.template.json +27 -0
  16. package/assets/harness.config.local.template.json +27 -0
  17. package/assets/harness.gitignore.template +11 -0
  18. package/assets/index.template.md +34 -0
  19. package/assets/init.template.sh +330 -0
  20. package/assets/progress-current.template.md +30 -0
  21. package/assets/progress-history.template.md +19 -0
  22. package/assets/role-explorer.template.md +17 -0
  23. package/assets/role-implementer.template.md +22 -0
  24. package/assets/role-leader.template.md +20 -0
  25. package/assets/role-reviewer.template.md +21 -0
  26. package/assets/schemas/feature_list.schema.json +97 -0
  27. package/assets/schemas/harness.config.schema.json +65 -0
  28. package/assets/schemas/registry.schema.json +24 -0
  29. package/assets/schemas/sprint.schema.json +20 -0
  30. package/assets/schemas/trigger_eval.schema.json +18 -0
  31. package/assets/sprint.template.md +50 -0
  32. package/dist/backlog.js +7124 -0
  33. package/dist/cli.js +43 -0
  34. package/dist/evals.js +7189 -0
  35. package/dist/feature.js +8085 -0
  36. package/dist/index_md.js +6852 -0
  37. package/dist/metrics.js +6996 -0
  38. package/dist/preflight.js +6873 -0
  39. package/dist/sprint.js +7388 -0
  40. package/dist/toolbox.js +9733 -0
  41. package/dist/toolbox_acceptance.js +77 -0
  42. package/dist/toolbox_assets.js +119 -0
  43. package/dist/toolbox_draft.js +2166 -0
  44. package/dist/toolbox_llm.js +291 -0
  45. package/dist/toolbox_retro.js +191 -0
  46. package/dist/toolbox_review_notes.js +169 -0
  47. package/dist/toolbox_review_notes_cli.js +598 -0
  48. package/dist/toolbox_state.js +9986 -0
  49. package/dist/toolbox_triage.js +168 -0
  50. package/dist/tools_discovery.js +7751 -0
  51. package/dist/update_harness.js +7531 -0
  52. package/dist/upgrade_harness.js +7355 -0
  53. package/dist/validate_harness.js +7304 -0
  54. package/package.json +33 -0
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/RodrigoMardones/handyman/assets/schemas/registry.schema.json",
4
+ "title": "Handyman toolBox registry",
5
+ "description": "Machine-global list of harness project roots observed by toolbox.js ($HANDYMAN_ROOT/registry.json). Records only project_root + registration date: every other fact is read live from each harness, so disk stays the single source of truth.",
6
+ "type": "object",
7
+ "required": ["version", "harnesses"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "version": { "type": "integer", "enum": [1] },
11
+ "harnesses": {
12
+ "type": "array",
13
+ "items": {
14
+ "type": "object",
15
+ "required": ["project_root", "registered"],
16
+ "additionalProperties": false,
17
+ "properties": {
18
+ "project_root": { "type": "string", "minLength": 1 },
19
+ "registered": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }
20
+ }
21
+ }
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/RodrigoMardones/handyman/assets/schemas/sprint.schema.json",
4
+ "title": "Handyman sprint document frontmatter",
5
+ "description": "The derived docs/sprints/sprint.<ID>.md is written by `sprint.js close`. This schema describes its YAML frontmatter (the parsed key/value object), the state surface the observer reads. The markdown body is prose and is not schema-validated.",
6
+ "type": "object",
7
+ "required": ["sprint", "status"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "sprint": { "type": "string", "pattern": "^\\d{4}-SP\\d+$" },
11
+ "status": { "type": "string", "enum": ["closed"] },
12
+ "updated": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" },
13
+ "closed_at": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$" },
14
+ "tags": {
15
+ "type": "array",
16
+ "items": { "type": "string" },
17
+ "uniqueItems": true
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/RodrigoMardones/handyman/assets/schemas/trigger_eval.schema.json",
4
+ "title": "Handyman trigger-evaluation set",
5
+ "description": "Labeled queries that measure whether the skill's description triggers. Each item pairs a natural-language query with the expected trigger label; the array is consumed by scripts/evals.py and documented in references/evals.md.",
6
+ "type": "array",
7
+ "minItems": 2,
8
+ "uniqueItems": true,
9
+ "items": {
10
+ "type": "object",
11
+ "required": ["query", "should_trigger"],
12
+ "additionalProperties": false,
13
+ "properties": {
14
+ "query": { "type": "string", "minLength": 1 },
15
+ "should_trigger": { "type": "boolean" }
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,50 @@
1
+ ---
2
+ type: Sprint
3
+ sprint: <sprint_id>
4
+ status: closed
5
+ updated: YYYY-MM-DD
6
+ closed_at: <closed_at>
7
+ tags: [handyman/sprint]
8
+ ---
9
+
10
+ # Sprint <sprint_id>
11
+
12
+ > Closed work period. Every section except the two marked manual is derived at
13
+ > close time from `feature_list.json`, `progress/history.md`, and `backlog/`
14
+ > frontmatter by `node dist/sprint.js close`; regenerate rather than hand-edit.
15
+
16
+ ## Identity
17
+
18
+ - **Sprint:** <sprint_id>
19
+ - **Closed:** YYYY-MM-DD
20
+ - **Closed at:** <closed_at>
21
+ - **Period:** <period>
22
+ - **Branches:** <branches>
23
+
24
+ ## Features
25
+
26
+ <features_table>
27
+
28
+ ## Metrics
29
+
30
+ <metrics>
31
+
32
+ ## Tools consulted
33
+
34
+ <tools>
35
+
36
+ ## Achievements
37
+
38
+ _Narrative achievements and general advances of the period (manual)._
39
+
40
+ - ...
41
+
42
+ ## Lessons and decisions
43
+
44
+ _Resurface the lessons worth keeping from the period's history entries (manual)._
45
+
46
+ - ...
47
+
48
+ ## Carry-over
49
+
50
+ <carryover>