@cassiomc1/forgeloop 0.1.15 → 1.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.
- package/DOCS_INDEX.md +60 -0
- package/EXECUTION_STATE.md +9 -0
- package/LOOP_ENGINEERING.md +15 -0
- package/LOOP_SYSTEM_DESIGN.md +8 -0
- package/PROTOCOL_INTEGRATION.md +8 -0
- package/QUALITY_SCORECARD.md +2 -0
- package/README.md +183 -654
- package/TERMINOLOGY.md +4 -0
- package/THREAT_MODEL.md +9 -0
- package/docs/assets/forgeloop-flow.svg +1 -0
- package/docs/forgeloop-flow.mmd +51 -0
- package/package.json +16 -3
- package/schemas/continuity.schema.json +57 -0
- package/scripts/CI_VALIDATORS.md +32 -0
- package/src/cli.js +307 -204
- package/src/commands/clear-continuity.js +9 -0
- package/src/commands/continuity.js +25 -0
- package/src/commands/doctor.js +17 -2
- package/src/commands/reconcile-continuity.js +23 -0
- package/src/commands/record-continuity.js +63 -0
- package/src/commands/status.js +14 -1
- package/src/commands/update.js +12 -13
- package/src/commands/validate-protocol.js +19 -0
- package/src/core/artifacts.js +1 -0
- package/src/core/bundles.js +6 -0
- package/src/core/command-resolution.js +295 -0
- package/src/core/command-tokenizer.js +122 -0
- package/src/core/conformance.js +8 -2
- package/src/core/continuity-cli-options.js +58 -0
- package/src/core/continuity-conformance.js +46 -0
- package/src/core/continuity-observability.js +20 -0
- package/src/core/continuity-reconciliation.js +224 -0
- package/src/core/continuity.js +245 -0
- package/src/core/inspect.js +9 -1
- package/src/core/installation-authority.js +178 -0
- package/src/core/json-safety.js +17 -13
- package/src/core/next-action-artifacts.js +118 -0
- package/src/core/next-action-continuity.js +65 -0
- package/src/core/next-action-model.js +127 -0
- package/src/core/next-action-phases.js +12 -0
- package/src/core/next-action.js +22 -249
- package/src/core/npm-classifier.js +343 -0
- package/src/core/package-manager-classifiers.js +37 -0
- package/src/core/preflight-consistency.js +221 -0
- package/src/core/preflight-loaders.js +112 -0
- package/src/core/preflight-model.js +83 -0
- package/src/core/preflight.js +34 -444
- package/src/core/protocol.js +7 -0
- package/src/core/schema-validation.js +15 -1
- package/src/core/templates.js +2 -0
- package/src/core/verification-capability.js +31 -1106
- package/src/core/verification-constants.js +61 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "forgeloop://schemas/continuity.schema.json",
|
|
4
|
+
"title": "ForgeLoop execution continuity",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schemaVersion",
|
|
8
|
+
"protocolVersion",
|
|
9
|
+
"taskId",
|
|
10
|
+
"workStateFingerprint",
|
|
11
|
+
"contractFingerprint",
|
|
12
|
+
"phase",
|
|
13
|
+
"repositoryFingerprint",
|
|
14
|
+
"updatedAt",
|
|
15
|
+
"remainingWork",
|
|
16
|
+
"knownIssues",
|
|
17
|
+
"changedAreas",
|
|
18
|
+
"inspectFirst"
|
|
19
|
+
],
|
|
20
|
+
"properties": {
|
|
21
|
+
"schemaVersion": { "const": 1 },
|
|
22
|
+
"protocolVersion": { "const": 1 },
|
|
23
|
+
"taskId": { "type": "string", "minLength": 1, "maxLength": 128 },
|
|
24
|
+
"workStateFingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
25
|
+
"contractFingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
26
|
+
"phase": { "type": "string", "minLength": 1 },
|
|
27
|
+
"verificationCycle": { "type": "integer", "minimum": 1 },
|
|
28
|
+
"repositoryFingerprint": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"required": ["branch", "head"],
|
|
31
|
+
"properties": {
|
|
32
|
+
"branch": { "oneOf": [{ "type": "string" }, { "type": "null" }] },
|
|
33
|
+
"head": { "oneOf": [{ "type": "string" }, { "type": "null" }] }
|
|
34
|
+
},
|
|
35
|
+
"additionalProperties": false
|
|
36
|
+
},
|
|
37
|
+
"updatedAt": { "type": "string", "minLength": 1 },
|
|
38
|
+
"currentFocus": { "$ref": "#/$defs/workItem" },
|
|
39
|
+
"remainingWork": { "type": "array", "maxItems": 40, "items": { "$ref": "#/$defs/workItem" } },
|
|
40
|
+
"knownIssues": { "type": "array", "maxItems": 40, "items": { "$ref": "#/$defs/workItem" } },
|
|
41
|
+
"changedAreas": { "type": "array", "maxItems": 80, "items": { "type": "string", "minLength": 1, "maxLength": 1024 } },
|
|
42
|
+
"inspectFirst": { "type": "array", "maxItems": 40, "items": { "type": "string", "minLength": 1, "maxLength": 1024 } },
|
|
43
|
+
"resumeNote": { "type": "string", "minLength": 1, "maxLength": 2000 }
|
|
44
|
+
},
|
|
45
|
+
"$defs": {
|
|
46
|
+
"workItem": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"required": ["id", "summary"],
|
|
49
|
+
"properties": {
|
|
50
|
+
"id": { "type": "string", "minLength": 1, "maxLength": 128 },
|
|
51
|
+
"summary": { "type": "string", "minLength": 1, "maxLength": 1000 }
|
|
52
|
+
},
|
|
53
|
+
"additionalProperties": false
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"additionalProperties": false
|
|
57
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Frozen CI-only validators
|
|
2
|
+
|
|
3
|
+
The Python validators are retained as compatibility checks for repository
|
|
4
|
+
contracts that predate the Node test suite:
|
|
5
|
+
|
|
6
|
+
- `validate_markdown.py` checks Markdown structure, frontmatter, links, code
|
|
7
|
+
fences, guide metadata, and adapter/documentation consistency.
|
|
8
|
+
- `validate_loop_system.py` checks the universal loop, instruction boundaries,
|
|
9
|
+
routing metadata, and protocol wording.
|
|
10
|
+
- `scan_secrets.py` checks repository text for secret-shaped values and is also
|
|
11
|
+
exercised by its Python unit tests.
|
|
12
|
+
|
|
13
|
+
They are deliberately frozen as CI-only tooling. The current migration does
|
|
14
|
+
not replace them with a second Node implementation because doing so would
|
|
15
|
+
change the historical scanner and validator contracts without a dedicated
|
|
16
|
+
parity project. They are not runtime dependencies, are not shipped as the CLI
|
|
17
|
+
runtime, and are not required by `npm install`.
|
|
18
|
+
|
|
19
|
+
## CI invocation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
python3 -m unittest discover -s tests -v
|
|
23
|
+
python3 scripts/validate_markdown.py --self-test
|
|
24
|
+
python3 scripts/validate_markdown.py
|
|
25
|
+
python3 scripts/validate_loop_system.py --self-test
|
|
26
|
+
python3 scripts/validate_loop_system.py
|
|
27
|
+
python3 scripts/scan_secrets.py
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The Node suite and Python suite have separate ownership: Node tests cover CLI,
|
|
31
|
+
protocol behavior, schemas, and execution evidence; Python remains the
|
|
32
|
+
compatibility gate for these repository-wide textual invariants.
|