@cassiomc1/forgeloop 1.3.0 → 1.5.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 (76) hide show
  1. package/.github/copilot-instructions.md +1 -0
  2. package/AGENTS.md +1 -0
  3. package/CLAUDE.md +1 -0
  4. package/DOCS_INDEX.md +7 -0
  5. package/EXECUTION_STATE.md +40 -0
  6. package/LOOP_ENGINEERING.md +54 -5
  7. package/LOOP_SYSTEM_DESIGN.md +22 -1
  8. package/PROTOCOL_INTEGRATION.md +41 -0
  9. package/README.md +38 -0
  10. package/TERMINOLOGY.md +15 -0
  11. package/THIRD_PARTY_NOTICES.md +15 -0
  12. package/THREAT_MODEL.md +20 -1
  13. package/docs/ARTIFACT_REFERENCE.md +43 -0
  14. package/docs/CLI_REFERENCE.md +97 -3
  15. package/docs/CROSS_HARNESS_CONTINUITY.md +23 -0
  16. package/docs/DOCUMENTATION_GUIDE.md +14 -0
  17. package/docs/GETTING_STARTED.md +1 -0
  18. package/docs/MCP.md +126 -0
  19. package/docs/RECIPES.md +82 -0
  20. package/docs/RELEASE_CHECKLIST_1_4.md +38 -0
  21. package/docs/RELEASE_CHECKLIST_1_5_MCP.md +78 -0
  22. package/docs/TROUBLESHOOTING.md +111 -1
  23. package/docs/UNIVERSAL_INTEGRATION.md +48 -0
  24. package/package.json +14 -3
  25. package/schemas/task-recovery.schema.json +61 -0
  26. package/src/cli.js +173 -347
  27. package/src/commands/audit.js +5 -0
  28. package/src/commands/inspect.js +6 -0
  29. package/src/commands/progress.js +6 -2
  30. package/src/commands/status.js +17 -0
  31. package/src/commands/task-create.js +39 -1
  32. package/src/commands/task-list.js +14 -1
  33. package/src/commands/task-lock-status.js +2 -2
  34. package/src/commands/task-recover.js +202 -0
  35. package/src/commands/task-repair-legacy-recovery.js +417 -0
  36. package/src/commands/task-resume.js +172 -0
  37. package/src/commands/task-scope.js +23 -4
  38. package/src/commands/task-show.js +18 -4
  39. package/src/commands/validate-protocol.js +19 -2
  40. package/src/core/artifact-registry.js +12 -0
  41. package/src/core/audit.js +20 -4
  42. package/src/core/bundles.js +15 -0
  43. package/src/core/cli-command-definitions.js +50 -4
  44. package/src/core/command-executors.js +387 -0
  45. package/src/core/command-input.js +107 -0
  46. package/src/core/command-runtime.js +106 -0
  47. package/src/core/completion-artifacts.js +2 -3
  48. package/src/core/completion-ownership.js +88 -0
  49. package/src/core/error-codes.js +118 -1
  50. package/src/core/events.js +130 -1
  51. package/src/core/filesystem.js +55 -6
  52. package/src/core/inspect.js +27 -0
  53. package/src/core/integration-invocation-policy.js +170 -0
  54. package/src/core/integration-limits.js +20 -0
  55. package/src/core/integration-resources.js +127 -0
  56. package/src/core/next-action-model.js +60 -0
  57. package/src/core/next-action.js +31 -0
  58. package/src/core/phase.js +2 -1
  59. package/src/core/project-root.js +21 -0
  60. package/src/core/protocol-info.js +13 -0
  61. package/src/core/reconcile-closure.js +32 -10
  62. package/src/core/recovery-history.js +116 -0
  63. package/src/core/schema-validation.js +1 -0
  64. package/src/core/task-claim-state.js +272 -0
  65. package/src/core/task-command.js +5 -1
  66. package/src/core/task-conflict-inspection.js +321 -0
  67. package/src/core/task-context.js +32 -29
  68. package/src/core/task-discovery.js +14 -1
  69. package/src/core/task-lock.js +216 -22
  70. package/src/core/task-paths.js +3 -2
  71. package/src/core/task-recovery-migration.js +192 -0
  72. package/src/core/task-recovery.js +205 -0
  73. package/src/core/task-scope.js +33 -1
  74. package/src/core/templates.js +1 -0
  75. package/src/core/transaction.js +28 -2
  76. package/src/integration.js +47 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cassiomc1/forgeloop",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "Portable, verifiable engineering protocol for AI coding environments and developer workflows",
5
5
  "repository": {
6
6
  "type": "git",
@@ -54,7 +54,11 @@
54
54
  "docs/TROUBLESHOOTING.md",
55
55
  "docs/RECIPES.md",
56
56
  "docs/DOCUMENTATION_GUIDE.md",
57
- "scripts/CI_VALIDATORS.md"
57
+ "docs/RELEASE_CHECKLIST_1_4.md",
58
+ "scripts/CI_VALIDATORS.md",
59
+ "docs/MCP.md",
60
+ "docs/UNIVERSAL_INTEGRATION.md",
61
+ "docs/RELEASE_CHECKLIST_1_5_MCP.md"
58
62
  ],
59
63
  "scripts": {
60
64
  "test": "node scripts/run-tests.js",
@@ -71,11 +75,18 @@
71
75
  "docs:check": "node scripts/run-docs-check.js",
72
76
  "lint": "eslint .",
73
77
  "coverage": "c8 --all --include=src/**/*.js --reporter=text --reporter=lcov --check-coverage --lines=80 --functions=75 --branches=70 --statements=80 node scripts/run-tests.js",
74
- "dependency:policy": "node scripts/check-dependency-policy.mjs"
78
+ "dependency:policy": "node scripts/check-dependency-policy.mjs",
79
+ "mcp:test": "node --test integrations/mcp/tests/*.test.js",
80
+ "mcp:setup": "node scripts/mcp-setup.mjs",
81
+ "mcp:pack:check": "node scripts/mcp-package-smoke.mjs"
75
82
  },
76
83
  "devDependencies": {
77
84
  "@mermaid-js/mermaid-cli": "^11.16.0",
78
85
  "c8": "^12.0.0",
79
86
  "eslint": "^9.39.5"
87
+ },
88
+ "exports": {
89
+ ".": "./src/cli.js",
90
+ "./integration": "./src/integration.js"
80
91
  }
81
92
  }
@@ -0,0 +1,61 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "forgeloop://schemas/task-recovery.schema.json",
4
+ "title": "ForgeLoop Task Recovery State",
5
+ "type": "object",
6
+ "required": [
7
+ "schemaVersion",
8
+ "protocolVersion",
9
+ "taskId",
10
+ "status",
11
+ "recoveredAt",
12
+ "recoveryId",
13
+ "recoveryEventSeq",
14
+ "classificationAtRecovery",
15
+ "reasonCodes",
16
+ "releasedClaims",
17
+ "previousPhase",
18
+ "previousRevision",
19
+ "repositoryFingerprint",
20
+ "authority"
21
+ ],
22
+ "additionalProperties": false,
23
+ "properties": {
24
+ "schemaVersion": { "const": 1 },
25
+ "protocolVersion": { "const": 1 },
26
+ "taskId": { "type": "string", "minLength": 1 },
27
+ "status": { "const": "RECOVERED" },
28
+ "recoveredAt": { "type": "string", "format": "date-time" },
29
+ "recoveryId": { "type": "string", "pattern": "^recovery-[A-Za-z0-9-]+$" },
30
+ "recoveryEventSeq": { "type": "integer", "minimum": 1 },
31
+ "classificationAtRecovery": { "enum": ["STALE", "ABANDONED", "LEGACY_BOUNDARY_MIGRATED"] },
32
+ "reasonCodes": {
33
+ "type": "array",
34
+ "items": { "type": "string", "minLength": 1 }
35
+ },
36
+ "releasedClaims": {
37
+ "type": "array",
38
+ "items": { "type": "string", "minLength": 1 }
39
+ },
40
+ "previousPhase": { "type": "string", "minLength": 1 },
41
+ "previousRevision": { "type": "integer", "minimum": 0 },
42
+ "repositoryFingerprint": {
43
+ "type": "object",
44
+ "required": ["branch", "head"],
45
+ "additionalProperties": false,
46
+ "properties": {
47
+ "branch": { "type": ["string", "null"] },
48
+ "head": { "type": ["string", "null"] }
49
+ }
50
+ },
51
+ "authority": {
52
+ "type": "object",
53
+ "required": ["kind"],
54
+ "additionalProperties": false,
55
+ "properties": {
56
+ "kind": { "enum": ["CALLER_ACKNOWLEDGED", "HOST_ATTESTED"] },
57
+ "grantRef": { "type": "string", "minLength": 1 }
58
+ }
59
+ }
60
+ }
61
+ }