@cassiomc1/forgeloop 1.14.0 → 2.0.0-rc.2
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/CONTRIBUTING.md +11 -7
- package/DOCS_INDEX.md +2 -1
- package/ENG/c-development-eng.md +2 -2
- package/ENG/cpp-development-eng.md +2 -2
- package/ENG/dotnet-aspnetcore-development-eng.md +7 -1
- package/ENG/flutter-development-eng.md +4 -2
- package/ENG/go-development-eng.md +2 -2
- package/ENG/java-development-eng.md +3 -3
- package/ENG/nodejs-backend-development-eng.md +8 -4
- package/ENG/php-development-eng.md +3 -3
- package/ENG/python-development-eng.md +205 -0
- package/ENG/rust-development-eng.md +42 -1
- package/ENG/sql-development-eng.md +4 -4
- package/ENG/swift-development-eng.md +5 -4
- package/ENG/test-code-eng.md +1 -1
- package/ENG/typescript-development-eng.md +4 -4
- package/GUIDE_ROUTER.md +6 -0
- package/LICENSE +133 -21
- package/LOOP_SYSTEM_DESIGN.md +10 -10
- package/README.md +28 -39
- package/THIRD_PARTY_NOTICES.md +3 -4
- package/completions/_forgeloop +11 -3
- package/completions/forgeloop.bash +19 -3
- package/completions/forgeloop.fish +61 -1
- package/docs/AGENT_PROTOCOL_SUMMARY.md +50 -40
- package/docs/ARTIFACT_REFERENCE.md +50 -37
- package/docs/CLI_REFERENCE.md +147 -3
- package/docs/DOCUMENTATION_GUIDE.md +6 -4
- package/docs/GETTING_STARTED.md +3 -3
- package/docs/PACKAGE_CONTENTS.md +14 -13
- package/docs/RELEASE_CHECKLIST.md +81 -10
- package/docs/SELF_HOSTED_TESTS.md +121 -0
- package/docs/documentation-manifest.json +25 -12
- package/package.json +15 -10
- package/schemas/task-bundle.schema.json +7 -2
- package/scripts/generate-agent-protocol-summary.mjs +2 -2
- package/scripts/run-mcp-clean-tests.mjs +30 -0
- package/src/adapters/agent-browser/provider.js +14 -11
- package/src/adapters/emulated-services/provider.js +11 -4
- package/src/adapters/temporary-paths.js +18 -0
- package/src/cli.js +146 -210
- package/src/commands/action-show.js +5 -2
- package/src/commands/advance.js +5 -1
- package/src/commands/baseline.js +13 -11
- package/src/commands/checkpoint-revalidate.js +24 -8
- package/src/commands/complete.js +19 -3
- package/src/commands/contract-create.js +3 -1
- package/src/commands/doctor.js +36 -13
- package/src/commands/gate-record.js +20 -31
- package/src/commands/gate-revalidate.js +11 -13
- package/src/commands/handoff-list.js +6 -1
- package/src/commands/handoff-show.js +6 -1
- package/src/commands/migrate-protocol.js +2 -2
- package/src/commands/model-route.js +9 -1
- package/src/commands/next.js +7 -1
- package/src/commands/policy-diff.js +25 -4
- package/src/commands/progress.js +17 -11
- package/src/commands/record-diagnosis.js +3 -0
- package/src/commands/semantic-plan.js +26 -2
- package/src/commands/status.js +6 -1
- package/src/commands/storage-backup.js +15 -0
- package/src/commands/storage-migrate.js +5 -0
- package/src/commands/storage-migration-resume.js +5 -0
- package/src/commands/storage-migration-status.js +44 -0
- package/src/commands/storage-restore-resume.js +7 -0
- package/src/commands/storage-restore.js +8 -0
- package/src/commands/task-abandon.js +1 -1
- package/src/commands/task-list.js +8 -43
- package/src/commands/task-migrate.js +3 -3
- package/src/commands/task-recover.js +10 -2
- package/src/commands/task-scope.js +18 -2
- package/src/commands/task-show.js +16 -2
- package/src/commands/validate-protocol.js +29 -14
- package/src/commands/validate-receipt.js +8 -1
- package/src/config/guides.json +4 -0
- package/src/core/action-ledger-projection.js +10 -3
- package/src/core/actions.js +38 -75
- package/src/core/activation.js +11 -3
- package/src/core/approvals.js +17 -51
- package/src/core/artifact-registry.js +59 -2
- package/src/core/artifacts.js +81 -27
- package/src/core/attachment-paths.js +45 -0
- package/src/core/attestation-coverage.js +6 -1
- package/src/core/attestation-verifier.js +21 -2
- package/src/core/attestation.js +17 -6
- package/src/core/audit.js +6 -1
- package/src/core/bundles.js +160 -66
- package/src/core/checkpoint-revalidation.js +12 -10
- package/src/core/cli-command-definitions.js +109 -7
- package/src/core/code-manifest.js +9 -3
- package/src/core/command-executors.js +182 -126
- package/src/core/command-input.js +21 -1
- package/src/core/completion-artifacts.js +71 -29
- package/src/core/completion-ownership.js +19 -8
- package/src/core/completion-recovery-rebind.js +11 -1
- package/src/core/completion.js +60 -9
- package/src/core/conformance.js +2 -1
- package/src/core/continuity-lint.js +13 -2
- package/src/core/continuity-reconciliation.js +16 -3
- package/src/core/continuity.js +16 -8
- package/src/core/contract-bootstrap-recovery.js +42 -41
- package/src/core/contract-revision.js +8 -9
- package/src/core/decision/artifact.js +2 -1
- package/src/core/decision/events.js +9 -6
- package/src/core/decision/resolver.js +19 -11
- package/src/core/decision/service.js +63 -38
- package/src/core/decision/task-bindings.js +6 -1
- package/src/core/diagnosis-model.js +11 -0
- package/src/core/diagnosis.js +10 -1
- package/src/core/diagnostic-projection.js +29 -12
- package/src/core/diagnostic-record.js +28 -3
- package/src/core/efficiency.js +6 -1
- package/src/core/events.js +316 -97
- package/src/core/execution-prerequisites.js +22 -13
- package/src/core/execution.js +26 -40
- package/src/core/filesystem.js +11 -0
- package/src/core/gate-artifact.js +105 -19
- package/src/core/gate-provenance.js +6 -5
- package/src/core/handoff.js +26 -14
- package/src/core/history.js +39 -35
- package/src/core/hypothesis-projection.js +32 -0
- package/src/core/information-gain-projection.js +104 -100
- package/src/core/inspect.js +12 -3
- package/src/core/integration-invocation-policy.js +10 -0
- package/src/core/integration-resources.js +41 -34
- package/src/core/ledger-event-collection.js +189 -0
- package/src/core/ledger-relations.js +23 -0
- package/src/core/native-storage.js +12 -0
- package/src/core/next-action-continuity.js +31 -9
- package/src/core/next-action-phases.js +1 -1
- package/src/core/next-action-review-phase.js +2 -2
- package/src/core/next-action-verification-phase.js +2 -1
- package/src/core/next-action.js +21 -2
- package/src/core/phase.js +138 -93
- package/src/core/policy-engine.js +12 -13
- package/src/core/preflight-consistency.js +72 -59
- package/src/core/preflight-loaders.js +19 -12
- package/src/core/preflight-model.js +6 -1
- package/src/core/preflight.js +29 -12
- package/src/core/progress.js +21 -10
- package/src/core/protocol-info.js +3 -0
- package/src/core/protocol-migration.js +7 -6
- package/src/core/reconcile-closure.js +162 -24
- package/src/core/recovery-history.js +66 -47
- package/src/core/reflection.js +72 -77
- package/src/core/responsibility.js +25 -13
- package/src/core/route-artifact.js +13 -3
- package/src/core/runtime-context.js +5 -0
- package/src/core/schema-validation.js +8 -3
- package/src/core/settlement.js +12 -1
- package/src/core/signing/bundle-file.js +53 -0
- package/src/core/signing/bundle-reference.js +15 -0
- package/src/core/signing/sigstore.js +60 -33
- package/src/core/signing/statement-file.js +27 -0
- package/src/core/storage-runtime-registry.js +41 -0
- package/src/core/structural-quality/artifacts.js +20 -14
- package/src/core/structural-quality/service.js +81 -56
- package/src/core/target-layout.js +1 -1
- package/src/core/task-claim-state.js +52 -18
- package/src/core/task-command.js +21 -1
- package/src/core/task-conflict-inspection.js +112 -107
- package/src/core/task-descriptor.js +29 -22
- package/src/core/task-discovery.js +288 -90
- package/src/core/task-lock.js +66 -306
- package/src/core/task-migration-validation.js +5 -5
- package/src/core/task-migration.js +17 -287
- package/src/core/task-snapshot.js +51 -8
- package/src/core/task-storage-migration.js +18 -0
- package/src/core/templates.js +20 -8
- package/src/core/test-intelligence/prune.js +5 -1
- package/src/core/trace.js +154 -99
- package/src/core/trajectory-evaluation.js +15 -3
- package/src/core/trajectory-metrics.js +47 -32
- package/src/core/transaction.js +16 -288
- package/src/core/verification-scope.js +20 -12
- package/src/core/work-state.js +100 -59
- package/src/repository-index/binary-manager.js +7 -5
- package/src/storage/artifact-bytes.js +22 -0
- package/src/storage/attachment-binding.js +11 -0
- package/src/storage/attachment-files.js +82 -0
- package/src/storage/attachment-references.js +36 -0
- package/src/storage/backup.js +53 -0
- package/src/storage/capabilities.js +31 -0
- package/src/storage/connection-owner.js +119 -0
- package/src/storage/connection.js +376 -0
- package/src/storage/existing-project-scope.js +45 -0
- package/src/storage/export-destination.js +44 -0
- package/src/storage/exporter.js +284 -0
- package/src/storage/file-durability.js +46 -0
- package/src/storage/importer.js +461 -0
- package/src/storage/index.js +74 -0
- package/src/storage/leases.js +63 -0
- package/src/storage/ledger-event-snapshot.js +150 -0
- package/src/storage/ledger-relations.js +220 -0
- package/src/storage/legacy-maintenance-boundary.js +18 -0
- package/src/storage/legacy-signature.js +115 -0
- package/src/storage/maintenance-handoff.js +129 -0
- package/src/storage/maintenance-owner.js +42 -0
- package/src/storage/maintenance.js +310 -0
- package/src/storage/metadata-json.js +35 -0
- package/src/storage/migration-activate.js +59 -0
- package/src/storage/migration-archive.js +57 -0
- package/src/storage/migration-attachment-root.js +61 -0
- package/src/storage/migration-candidate.js +398 -0
- package/src/storage/migration-publication.js +143 -0
- package/src/storage/migration-rollback-admission.js +54 -0
- package/src/storage/migration-rollback-preparation.js +132 -0
- package/src/storage/migration-rollback-publication.js +183 -0
- package/src/storage/migration-rollback-release.js +66 -0
- package/src/storage/migration-rollback-source-stage.js +103 -0
- package/src/storage/migration-rollback.js +43 -0
- package/src/storage/migration-source-partition.js +56 -0
- package/src/storage/migration-source.js +255 -0
- package/src/storage/migration-terminal.js +39 -0
- package/src/storage/migration-validation.js +75 -0
- package/src/storage/migration.js +43 -0
- package/src/storage/operational-attachments.js +49 -0
- package/src/storage/operational-context.js +50 -0
- package/src/storage/project-backup.js +98 -0
- package/src/storage/project-bootstrap.js +24 -0
- package/src/storage/project-boundary.js +79 -0
- package/src/storage/project-read-snapshot.js +18 -0
- package/src/storage/project-replacement.js +137 -0
- package/src/storage/project-restore.js +203 -0
- package/src/storage/record-definitions.js +45 -0
- package/src/storage/repository.js +507 -0
- package/src/storage/restore-journal.js +62 -0
- package/src/storage/restore-layout.js +30 -0
- package/src/storage/restore-preparation.js +84 -0
- package/src/storage/restore-replacement-archive.js +162 -0
- package/src/storage/restore-replacement-owner.js +31 -0
- package/src/storage/restore-replacement-preparation.js +128 -0
- package/src/storage/restore-replacement.js +142 -0
- package/src/storage/restore-terminal.js +32 -0
- package/src/storage/runtime.js +31 -0
- package/src/storage/schema.js +214 -0
- package/src/storage/singleton-import.js +84 -0
- package/src/storage/snapshot-continuity.js +16 -0
- package/src/storage/snapshot.js +36 -0
- package/src/storage/storage-marker.js +79 -0
- package/src/storage/task-guards.js +107 -0
- package/src/storage/topology.js +42 -0
- package/src/storage/transaction.js +179 -0
- package/src/storage/unit-of-work.js +663 -0
- package/src/storage/windows-process-incarnation.js +206 -0
- package/.forgeloop/forgeloop.gitignore +0 -4
- package/LICENSE-DOCS.md +0 -13
- package/src/core/transaction-maintenance.js +0 -70
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
ForgeLoop is a portable protocol and support CLI for verifiable engineering workflows. It records and validates task state, contracts, routing, checks, evidence, continuity, and optional code attestations. It does not become an agent scheduler, delegation service, source-control authority, or secret manager.
|
|
8
8
|
|
|
9
9
|
Protocol version: 1
|
|
10
|
-
Package version:
|
|
10
|
+
Package version: 2.0.0-rc.2
|
|
11
11
|
|
|
12
12
|
## Canonical loop
|
|
13
13
|
|
|
@@ -116,6 +116,7 @@ Phases: RECEIVED, DISCOVERING, CONTRACT_READY, ROUTED, DESIGNING, PLANNED, EXECU
|
|
|
116
116
|
| executionProfileContext | 1 | yes |
|
|
117
117
|
| integrationApi | 1 | yes |
|
|
118
118
|
| observabilityStability | n/a | yes |
|
|
119
|
+
| operationalStorage | 1 | yes |
|
|
119
120
|
| providerExtensions | 1 | yes |
|
|
120
121
|
| reflection | 1 | yes |
|
|
121
122
|
| repositoryIndex | 1 | yes |
|
|
@@ -174,45 +175,46 @@ capability-family versions.
|
|
|
174
175
|
| typescript | ENG/typescript-development-eng.md | yes |
|
|
175
176
|
| php | ENG/php-development-eng.md | yes |
|
|
176
177
|
| swift | ENG/swift-development-eng.md | yes |
|
|
178
|
+
| python | ENG/python-development-eng.md | yes |
|
|
177
179
|
|
|
178
180
|
## Public artifact registry
|
|
179
181
|
|
|
180
|
-
| Key | Scope |
|
|
181
|
-
| --- | --- | --- | --- | --- |
|
|
182
|
-
| actions | TASK | .forgeloop/task-state/<task-key>/actions/action-<id>.json | action | EXTERNAL_ACTION_PROVENANCE |
|
|
183
|
-
| approvals | TASK | .forgeloop/task-state/<task-key>/approvals/approval-<id>.json | approval | ACTION_APPROVAL_ATTESTATION |
|
|
184
|
-
| attestationBundle | TASK | .forgeloop/task-state/<task-key>/attestations/statement.sigstore.json | n/a | EXTERNAL_SIGNATURE_BUNDLE |
|
|
185
|
-
| attestationStatement | TASK | .forgeloop/task-state/<task-key>/attestations/statement.json | in-toto-statement | CODE_ATTESTATION_STATEMENT |
|
|
186
|
-
| capabilityPolicy | PROJECT | .forgeloop/policy/capabilities.json | capability-policy | CAPABILITY_POLICY_SPECIFICATION |
|
|
187
|
-
| codeManifest | TASK | .forgeloop/task-state/<task-key>/attestations/code-manifest.json | code-manifest | CONTENT_INTEGRITY_SNAPSHOT |
|
|
188
|
-
| config | PROJECT | .forgeloop/config.json | config | PROJECT_CONFIGURATION |
|
|
189
|
-
| continuity | TASK | .forgeloop/task-state/<task-key>/continuity.json | continuity | NON_EVIDENCE_HANDOFF |
|
|
190
|
-
| contract | TASK | .forgeloop/task-state/<task-key>/contract.json | current-contract | OPERATIONAL_SPECIFICATION |
|
|
191
|
-
| descriptor | TASK | .forgeloop/task-state/<task-key>/task.json | task-descriptor | TASK_DESCRIPTOR |
|
|
192
|
-
| evaluations | TASK | .forgeloop/task-state/<task-key>/evaluations/eval-<id>.json | trajectory-evaluation | TRAJECTORY_EVALUATION |
|
|
193
|
-
| events | TASK | .forgeloop/task-state/<task-key>/events.ndjson | event | AUDIT_LEDGER |
|
|
194
|
-
| executions | TASK | .forgeloop/task-state/<task-key>/executions/exec-<id>.json | execution | EXECUTION_PROVENANCE |
|
|
195
|
-
| gates | TASK | .forgeloop/task-state/<task-key>/gates/<gate>.json | gate | GATE_APPROVAL_ATTESTATION |
|
|
196
|
-
| handoffs | TASK | .forgeloop/task-state/<task-key>/handoffs/handoff-<id>.json | handoff-envelope | CANONICAL_HANDOFF_SNAPSHOT |
|
|
197
|
-
| policyBaseline | PROJECT | .forgeloop/policy/baseline.json | policy-baseline | BROWNFIELD_BASELINE |
|
|
198
|
-
| policyDiscovery | PROJECT | .forgeloop/policy/discovery.json | policy-discovery | DISCOVERED_POLICY_SPECIFICATION |
|
|
199
|
-
| policyLock | PROJECT | .forgeloop/policy/policy.lock | policy-lock | POLICY_INTEGRITY_LOCK |
|
|
200
|
-
| policyRules | PROJECT | .forgeloop/policy/rules.json | policy-rules | POLICY_SPECIFICATION |
|
|
201
|
-
| policySnapshot | TASK | .forgeloop/task-state/<task-key>/policy-snapshot.json | policy-snapshot | TASK_POLICY_ATTESTATION |
|
|
202
|
-
| preflight | TASK | .forgeloop/task-state/<task-key>/preflight.json | preflight | READINESS_ATTESTATION |
|
|
203
|
-
| receipt | TASK | .forgeloop/task-state/<task-key>/execution-receipt.json | execution-receipt | EVIDENCE_COMPILATION |
|
|
204
|
-
| recovery | TASK | .forgeloop/task-state/<task-key>/recovery.json | task-recovery | TASK_RECOVERY_STATE |
|
|
205
|
-
| responsibility | TASK | .forgeloop/task-state/<task-key>/responsibility.json | responsibility | RESPONSIBILITY_CONSTRAINT |
|
|
206
|
-
| route | TASK | .forgeloop/task-state/<task-key>/routing-result.json | routing-result | GUIDE_ROUTING_SPECIFICATION |
|
|
207
|
-
| semanticDecisions | TASK | .forgeloop/task-state/<task-key>/decisions/<decision-id>.json | semantic-decision | SEMANTIC_DECISION |
|
|
208
|
-
| session | SESSION | .forgeloop/sessions/<session-id>.json | activation | SESSION_MARKER |
|
|
209
|
-
| sources | PROJECT | .forgeloop/sources.json | source-registry | SOURCE_ATTESTATION |
|
|
210
|
-
| state | TASK | .forgeloop/task-state/<task-key>/work-state.json | work-state | CANONICAL_LIFECYCLE_STATE |
|
|
211
|
-
| structuralQuality | TASK | .forgeloop/task-state/<task-key>/structural-quality/baseline.json | structural-quality | STRUCTURAL_QUALITY_EVIDENCE |
|
|
212
|
-
| testUtility | TASK | .forgeloop/task-state/<task-key>/test-utility.json | test-utility | NON_EVIDENCE_TEST_ANALYSIS |
|
|
213
|
-
| usage | TASK | .forgeloop/task-state/<task-key>/usage.json | usage | INFORMATIONAL_USAGE_TELEMETRY |
|
|
214
|
-
| verificationScope | TASK | .forgeloop/task-state/<task-key>/verification-scope.json | verification-scope | VERIFICATION_SCOPE_PLAN |
|
|
215
|
-
| workspaceBinding | TASK | .forgeloop/task-state/<task-key>/workspace-binding.json | workspace-binding | WORKSPACE_IDENTITY_BINDING |
|
|
182
|
+
| Key | Scope | Logical identity | Canonical storage | Export path | Schema | Trust role |
|
|
183
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
184
|
+
| actions | TASK | .forgeloop/task-state/<task-key>/actions/action-<id>.json | .forgeloop/state.sqlite :: actions | .forgeloop/task-state/<task-key>/actions/action-<id>.json | action | EXTERNAL_ACTION_PROVENANCE |
|
|
185
|
+
| approvals | TASK | .forgeloop/task-state/<task-key>/approvals/approval-<id>.json | .forgeloop/state.sqlite :: approvals | .forgeloop/task-state/<task-key>/approvals/approval-<id>.json | approval | ACTION_APPROVAL_ATTESTATION |
|
|
186
|
+
| attestationBundle | TASK | .forgeloop/task-state/<task-key>/attestations/statement.sigstore.json | .forgeloop/state.sqlite :: attachment_references | .forgeloop/attachments/objects/<sha256> | n/a | EXTERNAL_SIGNATURE_BUNDLE |
|
|
187
|
+
| attestationStatement | TASK | .forgeloop/task-state/<task-key>/attestations/statement.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/attestations/statement.json | in-toto-statement | CODE_ATTESTATION_STATEMENT |
|
|
188
|
+
| capabilityPolicy | PROJECT | .forgeloop/policy/capabilities.json | .forgeloop/policy/capabilities.json | Copied separately | capability-policy | CAPABILITY_POLICY_SPECIFICATION |
|
|
189
|
+
| codeManifest | TASK | .forgeloop/task-state/<task-key>/attestations/code-manifest.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/attestations/code-manifest.json | code-manifest | CONTENT_INTEGRITY_SNAPSHOT |
|
|
190
|
+
| config | PROJECT | .forgeloop/config.json | .forgeloop/config.json | Copied separately | config | PROJECT_CONFIGURATION |
|
|
191
|
+
| continuity | TASK | .forgeloop/task-state/<task-key>/continuity.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/continuity.json | continuity | NON_EVIDENCE_HANDOFF |
|
|
192
|
+
| contract | TASK | .forgeloop/task-state/<task-key>/contract.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/contract.json | current-contract | OPERATIONAL_SPECIFICATION |
|
|
193
|
+
| descriptor | TASK | .forgeloop/task-state/<task-key>/task.json | .forgeloop/state.sqlite :: tasks | .forgeloop/task-state/<task-key>/task.json | task-descriptor | TASK_DESCRIPTOR |
|
|
194
|
+
| evaluations | TASK | .forgeloop/task-state/<task-key>/evaluations/eval-<id>.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/evaluations/eval-<id>.json | trajectory-evaluation | TRAJECTORY_EVALUATION |
|
|
195
|
+
| events | TASK | .forgeloop/task-state/<task-key>/events.ndjson | .forgeloop/state.sqlite :: events | .forgeloop/task-state/<task-key>/events.ndjson | event | AUDIT_LEDGER |
|
|
196
|
+
| executions | TASK | .forgeloop/task-state/<task-key>/executions/exec-<id>.json | .forgeloop/state.sqlite :: executions | .forgeloop/task-state/<task-key>/executions/exec-<id>.json | execution | EXECUTION_PROVENANCE |
|
|
197
|
+
| gates | TASK | .forgeloop/task-state/<task-key>/gates/<gate>.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/gates/<gate>.json | gate | GATE_APPROVAL_ATTESTATION |
|
|
198
|
+
| handoffs | TASK | .forgeloop/task-state/<task-key>/handoffs/handoff-<id>.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/handoffs/handoff-<id>.json | handoff-envelope | CANONICAL_HANDOFF_SNAPSHOT |
|
|
199
|
+
| policyBaseline | PROJECT | .forgeloop/policy/baseline.json | .forgeloop/policy/baseline.json | Copied separately | policy-baseline | BROWNFIELD_BASELINE |
|
|
200
|
+
| policyDiscovery | PROJECT | .forgeloop/policy/discovery.json | .forgeloop/policy/discovery.json | Copied separately | policy-discovery | DISCOVERED_POLICY_SPECIFICATION |
|
|
201
|
+
| policyLock | PROJECT | .forgeloop/policy/policy.lock | .forgeloop/policy/policy.lock | Copied separately | policy-lock | POLICY_INTEGRITY_LOCK |
|
|
202
|
+
| policyRules | PROJECT | .forgeloop/policy/rules.json | .forgeloop/policy/rules.json | Copied separately | policy-rules | POLICY_SPECIFICATION |
|
|
203
|
+
| policySnapshot | TASK | .forgeloop/task-state/<task-key>/policy-snapshot.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/policy-snapshot.json | policy-snapshot | TASK_POLICY_ATTESTATION |
|
|
204
|
+
| preflight | TASK | .forgeloop/task-state/<task-key>/preflight.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/preflight.json | preflight | READINESS_ATTESTATION |
|
|
205
|
+
| receipt | TASK | .forgeloop/task-state/<task-key>/execution-receipt.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/execution-receipt.json | execution-receipt | EVIDENCE_COMPILATION |
|
|
206
|
+
| recovery | TASK | .forgeloop/task-state/<task-key>/recovery.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/recovery.json | task-recovery | TASK_RECOVERY_STATE |
|
|
207
|
+
| responsibility | TASK | .forgeloop/task-state/<task-key>/responsibility.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/responsibility.json | responsibility | RESPONSIBILITY_CONSTRAINT |
|
|
208
|
+
| route | TASK | .forgeloop/task-state/<task-key>/routing-result.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/routing-result.json | routing-result | GUIDE_ROUTING_SPECIFICATION |
|
|
209
|
+
| semanticDecisions | TASK | .forgeloop/task-state/<task-key>/decisions/<decision-id>.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/decisions/<decision-id>.json | semantic-decision | SEMANTIC_DECISION |
|
|
210
|
+
| session | SESSION | .forgeloop/sessions/<session-id>.json | .forgeloop/state.sqlite :: sessions | .forgeloop/sessions/<session-id>.json | activation | SESSION_MARKER |
|
|
211
|
+
| sources | PROJECT | .forgeloop/sources.json | .forgeloop/sources.json | Copied separately | source-registry | SOURCE_ATTESTATION |
|
|
212
|
+
| state | TASK | .forgeloop/task-state/<task-key>/work-state.json | .forgeloop/state.sqlite :: tasks | .forgeloop/task-state/<task-key>/work-state.json | work-state | CANONICAL_LIFECYCLE_STATE |
|
|
213
|
+
| structuralQuality | TASK | .forgeloop/task-state/<task-key>/structural-quality/baseline.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/structural-quality/baseline.json | structural-quality | STRUCTURAL_QUALITY_EVIDENCE |
|
|
214
|
+
| testUtility | TASK | .forgeloop/task-state/<task-key>/test-utility.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/test-utility.json | test-utility | NON_EVIDENCE_TEST_ANALYSIS |
|
|
215
|
+
| usage | TASK | .forgeloop/task-state/<task-key>/usage.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/usage.json | usage | INFORMATIONAL_USAGE_TELEMETRY |
|
|
216
|
+
| verificationScope | TASK | .forgeloop/task-state/<task-key>/verification-scope.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/verification-scope.json | verification-scope | VERIFICATION_SCOPE_PLAN |
|
|
217
|
+
| workspaceBinding | TASK | .forgeloop/task-state/<task-key>/workspace-binding.json | .forgeloop/state.sqlite :: task_artifacts | .forgeloop/task-state/<task-key>/workspace-binding.json | workspace-binding | WORKSPACE_IDENTITY_BINDING |
|
|
216
218
|
|
|
217
219
|
## Command catalog
|
|
218
220
|
|
|
@@ -295,7 +297,7 @@ capability-family versions.
|
|
|
295
297
|
| gate-revalidate | MUTATING | Refreshes a stale satisfied gate after execution only when current identity and active claims prove the change is safe. |
|
|
296
298
|
| next | READ_ONLY | Returns deterministic next-action guidance and command recommendations based on active state. |
|
|
297
299
|
| preflight | MUTATING | Evaluates pre-implementation contract, routing, and gates; synchronizes work state when READY. |
|
|
298
|
-
| reconcile-closure | MUTATING | Refreshes the work-state checkpoint of an EXECUTING, VERIFYING, or REVIEWING task whose objective is already satisfied in the current repository, after contract-bound executed evidence, so canonical completion can proceed. |
|
|
300
|
+
| reconcile-closure | MUTATING | Refreshes the work-state checkpoint of an EXECUTING, VERIFYING, CORRECTING, or REVIEWING task whose objective is already satisfied in the current repository, after contract-bound executed evidence, so canonical completion can proceed. |
|
|
299
301
|
| record-decision-criterion | MUTATING | Records an append-only decision settlement criterion bound to the active contract fingerprint. |
|
|
300
302
|
| record-diagnosis | MUTATING | Records an append-only diagnosis event or structured diagnostic case in the lifecycle event ledger. |
|
|
301
303
|
| record-hypothesis-disposition | MUTATING | Records an evidence-bound hypothesis disposition update in the lifecycle event ledger. |
|
|
@@ -331,14 +333,22 @@ capability-family versions.
|
|
|
331
333
|
| index-stop | MUTATING | Stops only a tgrep server whose process identity is provably owned by ForgeLoop. |
|
|
332
334
|
| init | MUTATING | Initializes a target project directory with ForgeLoop discovery adapters, schemas, and templates. |
|
|
333
335
|
| migrate-protocol | MUTATING | Safely migrates explicitly supported protocol state; unknown target versions fail without rewriting artifacts. |
|
|
336
|
+
| storage-backup | MUTATING | Creates an exclusive native SQLite backup, optionally including canonically referenced attachments in a retained directory. |
|
|
337
|
+
| storage-migrate | MUTATING | Validates, retains and archives legacy state before activating SQLite. Failed attempts retain maintenance exclusion; resume requires the exact retained owner and a verified candidate. |
|
|
338
|
+
| storage-migration-resume | MUTATING | Adopts an exact dead local owner and continues verified publication stages. Unrecorded capture and unbound candidate files remain refused; an unbound legacy handoff is archived opaquely only with explicit --reconcile-unbound-handoff acknowledgement. |
|
|
339
|
+
| storage-migration-status | READ_ONLY | Inspects storage layout and maintenance exclusion without opening or repairing a database. |
|
|
340
|
+
| storage-restore | MUTATING | Verifies and retains a backup before activating it in an operationally fresh project. Existing operational state requires explicit --replace-active, which independently retains and archives outgoing authority before activation; failed restore evidence and maintenance exclusion are retained. |
|
|
341
|
+
| storage-restore-resume | MUTATING | Adopts an exact dead local maintenance owner and resumes restore. Incomplete snapshots and prior rebuild intents are retained before rebuilding from bound source; completed preparation requires source parity/domain validation. Use --replace-active for preparation or publication replacement recovery. Conflicting intents and retained handoff locks remain refused. |
|
|
342
|
+
| storage-rollback | MUTATING | Conditionally restores preserved source before native writes, retaining original native bytes and validating every task with the supported pinned legacy target before release. Failures retain exclusion; post-write restoration is refused. |
|
|
343
|
+
| storage-rollback-resume | MUTATING | Resumes recorded rollback preparation, staging or publication under exact dead-owner adoption, revalidates native/source locations, and validates every task with the pinned target before release. Unbound attempts remain refused. |
|
|
334
344
|
| task-abandon | MUTATING | Explicitly abandons an active non-terminal task; records append-only evidence and releases claims without completion authority. |
|
|
335
|
-
| task-migrate | MUTATING | Migrates
|
|
345
|
+
| task-migrate | MUTATING | Migrates legacy singleton task state into SQLite with retained source and verified publication evidence. |
|
|
336
346
|
| task-migrate-contract-bootstrap-repair | MUTATING | Migrates the exact legacy contract bootstrap repair marker by appending a bound migration event; the original marker and artifacts remain unchanged. |
|
|
337
347
|
| task-recover | MUTATING | Caller-acknowledged recovery of a STALE or ABANDONED task; records durable state and releases effective write claims. |
|
|
338
348
|
| task-repair-contract-bootstrap | MUTATING | Repairs the exact duplicate contract bootstrap defect without rewriting history; idempotent and append-only. |
|
|
339
349
|
| task-repair-legacy-recovery | MUTATING | Migrates one recognized legacy OPERATOR_RECOVERY_RECORDED boundary event into the modern durable recovery representation (append-only; original event unchanged). |
|
|
340
350
|
| task-resume | MUTATING | Reacquires a recovered task's write claims under project serialization and restores ordinary mutation authority. |
|
|
341
|
-
| task-unlock | MUTATING |
|
|
351
|
+
| task-unlock | MUTATING | Releases a canonical SQLite operation lease to recover an interrupted task. |
|
|
342
352
|
| update | MUTATING | Updates installed templates, discovery adapters, and canonical engineering guides to the latest version. |
|
|
343
353
|
|
|
344
354
|
### scope
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ForgeLoop Artifact Reference
|
|
2
2
|
|
|
3
|
-
This reference
|
|
3
|
+
This reference distinguishes each artifact's logical identity, canonical storage and portable export path. Operational task and session records are stored in `.forgeloop/state.sqlite`; project configuration, policy inputs and immutable attachment bytes remain files.
|
|
4
4
|
|
|
5
5
|
All artifact schemas are defined in `schemas/*.schema.json`. Persisted artifact shapes are strictly bound to these schemas and validated during protocol transitions.
|
|
6
6
|
|
|
@@ -8,44 +8,57 @@ All artifact schemas are defined in `schemas/*.schema.json`. Persisted artifact
|
|
|
8
8
|
|
|
9
9
|
## 1. Artifact Registry Summary
|
|
10
10
|
|
|
11
|
+
Historical path strings remain logical identities so existing hashed evidence
|
|
12
|
+
can be resolved without rewriting its history. A logical task path does not
|
|
13
|
+
promise that a live JSON or NDJSON file exists. Read operational payloads through
|
|
14
|
+
the canonical CLI, integration API or MCP resources; portable files are produced
|
|
15
|
+
by explicit exports.
|
|
16
|
+
|
|
17
|
+
The registry retains `path` as the logical alias and adds `logicalPath`,
|
|
18
|
+
`canonicalStorage` and `exportPath`. Project files have no database export path
|
|
19
|
+
and are copied separately. Signature bundles use immutable content-addressed
|
|
20
|
+
files bound by SQLite references; their portable bindings are in
|
|
21
|
+
`export-index.json#attachments`. A historical signature path is emitted only
|
|
22
|
+
when its verified legacy alias is bound to the exported statement.
|
|
23
|
+
|
|
11
24
|
<!-- BEGIN FORGELOOP GENERATED: artifact-registry -->
|
|
12
25
|
|
|
13
|
-
|
|
|
14
|
-
| --- | --- | --- | --- | --- |
|
|
15
|
-
| `task-state/<task-key>/task.json` | `task-descriptor` | Protocol Managed | Mutable Before Execution | Task Descriptor |
|
|
16
|
-
| `task-state/<task-key>/contract.json` | `current-contract` | Agent Authored | Mutable Before Execution | Operational Specification |
|
|
17
|
-
| `task-state/<task-key>/routing-result.json` | `routing-result` | Protocol Generated | Mutable On Reroute | Guide Routing Specification |
|
|
18
|
-
| `task-state/<task-key>/preflight.json` | `preflight` | Protocol Generated | Overwritten On Preflight | Readiness Attestation |
|
|
19
|
-
| `sources.json` | `source-registry` | Operator Or Agent | Mutable On Discovery | Source Attestation |
|
|
20
|
-
| `task-state/<task-key>/events.ndjson` | `event` | Protocol Appended | Append Only | Audit Ledger |
|
|
21
|
-
| `sessions/<session-id>.json` | `activation` | Protocol Generated | Overwritten On Activate | Session Marker |
|
|
22
|
-
| `config.json` | `config` | Operator Or Agent | Mutable Configuration | Project Configuration |
|
|
23
|
-
| `task-state/<task-key>/gates/<gate>.json` | `gate` | Agent Authored Or Reviewer | Overwritten On Gate Satisfaction | Gate Approval Attestation |
|
|
24
|
-
| `task-state/<task-key>/work-state.json` | `work-state` | Protocol Managed | Atomic State Transitions | Canonical Lifecycle State |
|
|
25
|
-
| `task-state/<task-key>/continuity.json` | `continuity` | Agent Or Harness | Mutable Handoff Notes | Non Evidence Handoff |
|
|
26
|
-
| `task-state/<task-key>/execution-receipt.json` | `execution-receipt` | Protocol Compiled | Atomic Compilation | Evidence Compilation |
|
|
27
|
-
| `task-state/<task-key>/executions/exec-<id>.json` | `execution` | Protocol Executed | Immutable Once Written | Execution Provenance |
|
|
28
|
-
| `policy/rules.json` | `policy-rules` | Operator Or Agent | Mutable Configuration | Policy Specification |
|
|
29
|
-
| `policy/discovery.json` | `policy-discovery` | Protocol Generated | Mutable On Discovery | Discovered Policy Specification |
|
|
30
|
-
| `policy/baseline.json` | `policy-baseline` | Protocol Generated Or Operator | Monotonic Ratchet Down | Brownfield Baseline |
|
|
31
|
-
| `policy/policy.lock` | `policy-lock` | Protocol Generated | Atomic Digest Compilation | Policy Integrity Lock |
|
|
32
|
-
| `task-state/<task-key>/policy-snapshot.json` | `policy-snapshot` | Protocol Generated | Mutable Before Execution | Task Policy Attestation |
|
|
33
|
-
| `task-state/<task-key>/recovery.json` | `task-recovery` | Protocol Generated | Recovery State Transitions | Task Recovery State |
|
|
34
|
-
| `task-state/<task-key>/actions/action-<id>.json` | `action` | Protocol Managed | State Machine Transitions | External Action Provenance |
|
|
35
|
-
| `task-state/<task-key>/approvals/approval-<id>.json` | `approval` | Protocol Managed | Append Decision Once | Action Approval Attestation |
|
|
36
|
-
| `policy/capabilities.json` | `capability-policy` | Operator Or Agent | Mutable Configuration | Capability Policy Specification |
|
|
37
|
-
| `task-state/<task-key>/evaluations/eval-<id>.json` | `trajectory-evaluation` | Protocol Compiled | Immutable Once Written | Trajectory Evaluation |
|
|
38
|
-
| `task-state/<task-key>/structural-quality/baseline.json` | `structural-quality` | Protocol Compiled | Baseline Immutable After Execution | Structural Quality Evidence |
|
|
39
|
-
| `task-state/<task-key>/usage.json` | `usage` | Actor Or Trusted Host | Overwritten On Usage Record | Informational Usage Telemetry |
|
|
40
|
-
| `task-state/<task-key>/workspace-binding.json` | `workspace-binding` | Protocol Generated | Immutable After Bind | Workspace Identity Binding |
|
|
41
|
-
| `task-state/<task-key>/handoffs/handoff-<id>.json` | `handoff-envelope` | Protocol Compiled | Immutable Once Written | Canonical Handoff Snapshot |
|
|
42
|
-
| `task-state/<task-key>/responsibility.json` | `responsibility` | Agent Or Harness Constrained | Immutable During Pass | Responsibility Constraint |
|
|
43
|
-
| `task-state/<task-key>/verification-scope.json` | `verification-scope` | Protocol Compiled | Recomputed On Scope Change | Verification Scope Plan |
|
|
44
|
-
| `task-state/<task-key>/attestations/code-manifest.json` | `code-manifest` | Protocol Generated | Immutable Once Written | Content Integrity Snapshot |
|
|
45
|
-
| `task-state/<task-key>/attestations/statement.json` | `in-toto-statement` | Protocol Compiled | Immutable Once Written | Code Attestation Statement |
|
|
46
|
-
|
|
|
47
|
-
| `task-state/<task-key>/decisions/<decision-id>.json` | `semantic-decision` | Protocol Compiled | Immutable Once Written | Semantic Decision |
|
|
48
|
-
| `task-state/<task-key>/test-utility.json` | `test-utility` | Protocol Compiled | Overwritten On Analysis | Non Evidence Test Analysis |
|
|
26
|
+
| Logical Identity | Canonical Storage | Export Path | Schema | Ownership | Mutability | Trust Role |
|
|
27
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
28
|
+
| `.forgeloop/task-state/<task-key>/task.json` | `.forgeloop/state.sqlite :: tasks.descriptor_json` | `.forgeloop/task-state/<task-key>/task.json` | `task-descriptor` | Protocol Managed | Mutable Before Execution | Task Descriptor |
|
|
29
|
+
| `.forgeloop/task-state/<task-key>/contract.json` | `.forgeloop/state.sqlite :: task_artifacts (contract)` | `.forgeloop/task-state/<task-key>/contract.json` | `current-contract` | Agent Authored | Mutable Before Execution | Operational Specification |
|
|
30
|
+
| `.forgeloop/task-state/<task-key>/routing-result.json` | `.forgeloop/state.sqlite :: task_artifacts (route)` | `.forgeloop/task-state/<task-key>/routing-result.json` | `routing-result` | Protocol Generated | Mutable On Reroute | Guide Routing Specification |
|
|
31
|
+
| `.forgeloop/task-state/<task-key>/preflight.json` | `.forgeloop/state.sqlite :: task_artifacts (preflight)` | `.forgeloop/task-state/<task-key>/preflight.json` | `preflight` | Protocol Generated | Overwritten On Preflight | Readiness Attestation |
|
|
32
|
+
| `.forgeloop/sources.json` | `.forgeloop/sources.json` | `Copied separately` | `source-registry` | Operator Or Agent | Mutable On Discovery | Source Attestation |
|
|
33
|
+
| `.forgeloop/task-state/<task-key>/events.ndjson` | `.forgeloop/state.sqlite :: events` | `.forgeloop/task-state/<task-key>/events.ndjson` | `event` | Protocol Appended | Append Only | Audit Ledger |
|
|
34
|
+
| `.forgeloop/sessions/<session-id>.json` | `.forgeloop/state.sqlite :: sessions` | `.forgeloop/sessions/<session-id>.json` | `activation` | Protocol Generated | Overwritten On Activate | Session Marker |
|
|
35
|
+
| `.forgeloop/config.json` | `.forgeloop/config.json` | `Copied separately` | `config` | Operator Or Agent | Mutable Configuration | Project Configuration |
|
|
36
|
+
| `.forgeloop/task-state/<task-key>/gates/<gate>.json` | `.forgeloop/state.sqlite :: task_artifacts (gate)` | `.forgeloop/task-state/<task-key>/gates/<gate>.json` | `gate` | Agent Authored Or Reviewer | Overwritten On Gate Satisfaction | Gate Approval Attestation |
|
|
37
|
+
| `.forgeloop/task-state/<task-key>/work-state.json` | `.forgeloop/state.sqlite :: tasks.state_json` | `.forgeloop/task-state/<task-key>/work-state.json` | `work-state` | Protocol Managed | Atomic State Transitions | Canonical Lifecycle State |
|
|
38
|
+
| `.forgeloop/task-state/<task-key>/continuity.json` | `.forgeloop/state.sqlite :: task_artifacts (continuity)` | `.forgeloop/task-state/<task-key>/continuity.json` | `continuity` | Agent Or Harness | Mutable Handoff Notes | Non Evidence Handoff |
|
|
39
|
+
| `.forgeloop/task-state/<task-key>/execution-receipt.json` | `.forgeloop/state.sqlite :: task_artifacts (receipt)` | `.forgeloop/task-state/<task-key>/execution-receipt.json` | `execution-receipt` | Protocol Compiled | Atomic Compilation | Evidence Compilation |
|
|
40
|
+
| `.forgeloop/task-state/<task-key>/executions/exec-<id>.json` | `.forgeloop/state.sqlite :: executions` | `.forgeloop/task-state/<task-key>/executions/exec-<id>.json` | `execution` | Protocol Executed | Immutable Once Written | Execution Provenance |
|
|
41
|
+
| `.forgeloop/policy/rules.json` | `.forgeloop/policy/rules.json` | `Copied separately` | `policy-rules` | Operator Or Agent | Mutable Configuration | Policy Specification |
|
|
42
|
+
| `.forgeloop/policy/discovery.json` | `.forgeloop/policy/discovery.json` | `Copied separately` | `policy-discovery` | Protocol Generated | Mutable On Discovery | Discovered Policy Specification |
|
|
43
|
+
| `.forgeloop/policy/baseline.json` | `.forgeloop/policy/baseline.json` | `Copied separately` | `policy-baseline` | Protocol Generated Or Operator | Monotonic Ratchet Down | Brownfield Baseline |
|
|
44
|
+
| `.forgeloop/policy/policy.lock` | `.forgeloop/policy/policy.lock` | `Copied separately` | `policy-lock` | Protocol Generated | Atomic Digest Compilation | Policy Integrity Lock |
|
|
45
|
+
| `.forgeloop/task-state/<task-key>/policy-snapshot.json` | `.forgeloop/state.sqlite :: task_artifacts (policySnapshot)` | `.forgeloop/task-state/<task-key>/policy-snapshot.json` | `policy-snapshot` | Protocol Generated | Mutable Before Execution | Task Policy Attestation |
|
|
46
|
+
| `.forgeloop/task-state/<task-key>/recovery.json` | `.forgeloop/state.sqlite :: task_artifacts (recovery)` | `.forgeloop/task-state/<task-key>/recovery.json` | `task-recovery` | Protocol Generated | Recovery State Transitions | Task Recovery State |
|
|
47
|
+
| `.forgeloop/task-state/<task-key>/actions/action-<id>.json` | `.forgeloop/state.sqlite :: actions` | `.forgeloop/task-state/<task-key>/actions/action-<id>.json` | `action` | Protocol Managed | State Machine Transitions | External Action Provenance |
|
|
48
|
+
| `.forgeloop/task-state/<task-key>/approvals/approval-<id>.json` | `.forgeloop/state.sqlite :: approvals` | `.forgeloop/task-state/<task-key>/approvals/approval-<id>.json` | `approval` | Protocol Managed | Append Decision Once | Action Approval Attestation |
|
|
49
|
+
| `.forgeloop/policy/capabilities.json` | `.forgeloop/policy/capabilities.json` | `Copied separately` | `capability-policy` | Operator Or Agent | Mutable Configuration | Capability Policy Specification |
|
|
50
|
+
| `.forgeloop/task-state/<task-key>/evaluations/eval-<id>.json` | `.forgeloop/state.sqlite :: task_artifacts (evaluation)` | `.forgeloop/task-state/<task-key>/evaluations/eval-<id>.json` | `trajectory-evaluation` | Protocol Compiled | Immutable Once Written | Trajectory Evaluation |
|
|
51
|
+
| `.forgeloop/task-state/<task-key>/structural-quality/baseline.json` | `.forgeloop/state.sqlite :: task_artifacts (structuralQuality)` | `.forgeloop/task-state/<task-key>/structural-quality/baseline.json` | `structural-quality` | Protocol Compiled | Baseline Immutable After Execution | Structural Quality Evidence |
|
|
52
|
+
| `.forgeloop/task-state/<task-key>/usage.json` | `.forgeloop/state.sqlite :: task_artifacts (usage)` | `.forgeloop/task-state/<task-key>/usage.json` | `usage` | Actor Or Trusted Host | Overwritten On Usage Record | Informational Usage Telemetry |
|
|
53
|
+
| `.forgeloop/task-state/<task-key>/workspace-binding.json` | `.forgeloop/state.sqlite :: task_artifacts (workspaceBinding)` | `.forgeloop/task-state/<task-key>/workspace-binding.json` | `workspace-binding` | Protocol Generated | Immutable After Bind | Workspace Identity Binding |
|
|
54
|
+
| `.forgeloop/task-state/<task-key>/handoffs/handoff-<id>.json` | `.forgeloop/state.sqlite :: task_artifacts (handoff)` | `.forgeloop/task-state/<task-key>/handoffs/handoff-<id>.json` | `handoff-envelope` | Protocol Compiled | Immutable Once Written | Canonical Handoff Snapshot |
|
|
55
|
+
| `.forgeloop/task-state/<task-key>/responsibility.json` | `.forgeloop/state.sqlite :: task_artifacts (responsibility)` | `.forgeloop/task-state/<task-key>/responsibility.json` | `responsibility` | Agent Or Harness Constrained | Immutable During Pass | Responsibility Constraint |
|
|
56
|
+
| `.forgeloop/task-state/<task-key>/verification-scope.json` | `.forgeloop/state.sqlite :: task_artifacts (verificationScope)` | `.forgeloop/task-state/<task-key>/verification-scope.json` | `verification-scope` | Protocol Compiled | Recomputed On Scope Change | Verification Scope Plan |
|
|
57
|
+
| `.forgeloop/task-state/<task-key>/attestations/code-manifest.json` | `.forgeloop/state.sqlite :: task_artifacts (attestation)` | `.forgeloop/task-state/<task-key>/attestations/code-manifest.json` | `code-manifest` | Protocol Generated | Immutable Once Written | Content Integrity Snapshot |
|
|
58
|
+
| `.forgeloop/task-state/<task-key>/attestations/statement.json` | `.forgeloop/state.sqlite :: task_artifacts (attestation)` | `.forgeloop/task-state/<task-key>/attestations/statement.json` | `in-toto-statement` | Protocol Compiled | Immutable Once Written | Code Attestation Statement |
|
|
59
|
+
| `.forgeloop/task-state/<task-key>/attestations/statement.sigstore.json` | `.forgeloop/state.sqlite :: attachment_references` | `.forgeloop/attachments/objects/<sha256>` | `null` | External Signing Provider | External Immutable | External Signature Bundle |
|
|
60
|
+
| `.forgeloop/task-state/<task-key>/decisions/<decision-id>.json` | `.forgeloop/state.sqlite :: task_artifacts (decision)` | `.forgeloop/task-state/<task-key>/decisions/<decision-id>.json` | `semantic-decision` | Protocol Compiled | Immutable Once Written | Semantic Decision |
|
|
61
|
+
| `.forgeloop/task-state/<task-key>/test-utility.json` | `.forgeloop/state.sqlite :: task_artifacts (testUtility)` | `.forgeloop/task-state/<task-key>/test-utility.json` | `test-utility` | Protocol Compiled | Overwritten On Analysis | Non Evidence Test Analysis |
|
|
49
62
|
|
|
50
63
|
<!-- END FORGELOOP GENERATED: artifact-registry -->
|
|
51
64
|
|
package/docs/CLI_REFERENCE.md
CHANGED
|
@@ -18,6 +18,146 @@ Commands that support structured machine-readable output document `--json` in th
|
|
|
18
18
|
|
|
19
19
|
<!-- END FORGELOOP GENERATED: cli-common-options -->
|
|
20
20
|
|
|
21
|
+
## Storage maintenance
|
|
22
|
+
|
|
23
|
+
### `storage-migration-status`
|
|
24
|
+
|
|
25
|
+
Inspects the bootstrap storage layout and retained maintenance ownership even
|
|
26
|
+
when ordinary commands are excluded. It neither opens nor validates the
|
|
27
|
+
database, removes an exclusion, nor proves that its owner is alive or dead.
|
|
28
|
+
|
|
29
|
+
<!-- BEGIN FORGELOOP GENERATED: cli:storage-migration-status:options -->
|
|
30
|
+
|
|
31
|
+
- `--path <directory>`: target project directory (default: current directory)
|
|
32
|
+
- `--json`: emit bootstrap storage layout and retained maintenance ownership
|
|
33
|
+
|
|
34
|
+
<!-- END FORGELOOP GENERATED: cli:storage-migration-status:options -->
|
|
35
|
+
|
|
36
|
+
### `storage-migration-resume`
|
|
37
|
+
|
|
38
|
+
Requires externally excluded writers and the exact retained dead local owner UUID reported by `storage-migration-status`. Continues verified STAGED, ARCHIVING or ARCHIVED publication, or verifies PUBLISHED current state without restoration. Verified unpublished staging can be retained and rebuilt. Unrecorded capture, unbound candidate files and interrupted owner handoffs remain refused.
|
|
39
|
+
|
|
40
|
+
<!-- BEGIN FORGELOOP GENERATED: cli:storage-migration-resume:options -->
|
|
41
|
+
|
|
42
|
+
- `--path <directory>`: target project directory (default: current directory)
|
|
43
|
+
- `--destination <path>`: retained migration directory relative to the project
|
|
44
|
+
- `--expected-owner <uuid>`: exact retained maintenance owner reported by storage-migration-status
|
|
45
|
+
- `--writers-quiesced`: assert that all writers, including older clients, have been externally stopped
|
|
46
|
+
- `--reconcile-unbound-handoff`: preserve an unbound legacy handoff by atomic archival before resuming the exact dead owner
|
|
47
|
+
- `--json`: emit recovery verification metadata
|
|
48
|
+
|
|
49
|
+
<!-- END FORGELOOP GENERATED: cli:storage-migration-resume:options -->
|
|
50
|
+
|
|
51
|
+
### `storage-rollback-resume`
|
|
52
|
+
|
|
53
|
+
Resume a recorded source rollback publication under an exact dead local maintenance owner. Stop and exclude all writers; keep native writes excluded. The clean supported legacy target is validated before owner adoption. Actual source/native locations, captured bytes, independent backup and owner history are revalidated before operation journals change. Target validation must pass for every task before maintenance release.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
forgeloop storage-rollback-resume --path <project> --destination <retained-migration> --expected-owner <uuid> --legacy-root <clean-supported-checkout> --writers-quiesced --native-writes-excluded --json
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Recorded `PREPARING`/`READY` preparation and staging journals, and `SWITCHING`, `NATIVE_RETAINED` and `RESTORED` publication journals are supported. Incomplete staging copies are retained before rebuilding from verified captured source. Unrecorded directories, remote/live owners and ambiguous bytes are refused and retained for reconciliation. No deletion or replacement of retained source/native backups is authorized by failure.
|
|
60
|
+
|
|
61
|
+
<!-- BEGIN FORGELOOP GENERATED: cli:storage-rollback-resume:options -->
|
|
62
|
+
|
|
63
|
+
- `--path <directory>`: target project directory (default: current directory)
|
|
64
|
+
- `--expected-owner <uuid>`: exact retained dead local owner reported by storage-migration-status
|
|
65
|
+
- `--destination <path>`: retained migration with recorded rollback preparation, staging or publication
|
|
66
|
+
- `--legacy-root <path>`: clean supported pinned legacy checkout used for actual target validation
|
|
67
|
+
- `--writers-quiesced`: assert that all writers, including older clients, have been externally stopped and excluded
|
|
68
|
+
- `--native-writes-excluded`: assert that native writes have been excluded since migration; snapshot equality alone does not prove this
|
|
69
|
+
- `--json`: emit restoration and target-validation metadata
|
|
70
|
+
|
|
71
|
+
<!-- END FORGELOOP GENERATED: cli:storage-rollback-resume:options -->
|
|
72
|
+
|
|
73
|
+
### `storage-rollback`
|
|
74
|
+
|
|
75
|
+
Conditionally restore the preserved legacy source before any native writes have been accepted. Stop and exclude every writer, including old clients and background integrations. Inventory the clients and retain their exclusion throughout validation. Snapshot equality does not prove that no native writes occurred: `--native-writes-excluded` is an explicit operator assertion about the entire interval since migration. If native writes occurred, use a verified reverse export for the exact target version or forward repair instead.
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
forgeloop storage-rollback --path <project> --destination <retained-migration> --legacy-root <clean-supported-checkout> --writers-quiesced --native-writes-excluded --json
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
The supported validator checkout is the clean tracked Git commit `ee9ce11123d4e728d3dbc92f5d62d4bf41bb79c5`. Other target commits are refused. The command validates that target before acquiring maintenance, revalidates retained source and unchanged native authority, backs up native database and referenced attachment bytes, stages captured source, retains original native files by rename, and publishes exact source roots. It runs the pinned legacy CLI against every retained task and checks the task catalog before allowing maintenance release. The command executes Git and the explicitly supplied target CLI locally.
|
|
82
|
+
|
|
83
|
+
Original native files, independent backups, captured source, inventories and validation receipts are retained. No automatic disposal occurs. On failure, keep all writers excluded and inspect maintenance owner and retained operation state. A failed attempt is not authorization to delete exclusion or retry over retained paths. Use `storage-rollback-resume` only for recorded preparation, staging or publication states. Unbound attempts remain refused; the original migration resume command must not be used to recover rollback operations.
|
|
84
|
+
|
|
85
|
+
<!-- BEGIN FORGELOOP GENERATED: cli:storage-rollback:options -->
|
|
86
|
+
|
|
87
|
+
- `--path <directory>`: target project directory (default: current directory)
|
|
88
|
+
- `--destination <path>`: retained published migration directory relative to the project
|
|
89
|
+
- `--legacy-root <path>`: clean supported pinned legacy checkout used for actual target validation
|
|
90
|
+
- `--writers-quiesced`: assert that all writers, including older clients, have been externally stopped and excluded
|
|
91
|
+
- `--native-writes-excluded`: assert that native writes have been excluded since migration; snapshot equality alone does not prove this
|
|
92
|
+
- `--json`: emit restoration and target-validation metadata
|
|
93
|
+
|
|
94
|
+
<!-- END FORGELOOP GENERATED: cli:storage-rollback:options -->
|
|
95
|
+
|
|
96
|
+
### `storage-migrate`
|
|
97
|
+
|
|
98
|
+
Initial migration requires a new retained destination and externally stopped writers, including older clients. It validates and retains legacy sources, archives operational files, activates SQLite, and verifies current state. Failed attempts retain maintenance exclusion and evidence. Resume supports verified publication stages and identified unpublished staging; unrecorded capture and unbound candidate files remain refused.
|
|
99
|
+
|
|
100
|
+
<!-- BEGIN FORGELOOP GENERATED: cli:storage-migrate:options -->
|
|
101
|
+
|
|
102
|
+
- `--path <directory>`: target project directory (default: current directory)
|
|
103
|
+
- `--destination <path>`: new retained migration directory relative to the project; missing parent directories are created
|
|
104
|
+
- `--writers-quiesced`: assert that all writers, including older clients, have been externally stopped
|
|
105
|
+
- `--json`: emit migration publication and verification metadata
|
|
106
|
+
|
|
107
|
+
<!-- END FORGELOOP GENERATED: cli:storage-migrate:options -->
|
|
108
|
+
|
|
109
|
+
### `storage-restore-resume`
|
|
110
|
+
|
|
111
|
+
Resumes restore after confirming that its exact retained local owner is dead. Requires externally excluded writers. Partial snapshots and prior rebuild intents are retained before rebuilding from verified source; completed preparation must pass source parity and domain validation. Conflicting intent records, unbound objects and changed preterminal databases remain refused. Terminal verification preserves accepted later work.
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
forgeloop storage-restore-resume --path /path/to/project --operation <restore-uuid> --expected-owner <owner-uuid> --writers-quiesced --json
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
<!-- BEGIN FORGELOOP GENERATED: cli:storage-restore-resume:options -->
|
|
118
|
+
|
|
119
|
+
- `--path <directory>`: target project directory (default: current directory)
|
|
120
|
+
- `--operation <uuid>`: exact retained restore journal operation UUID
|
|
121
|
+
- `--expected-owner <uuid>`: exact retained maintenance owner UUID
|
|
122
|
+
- `--replace-active`: explicitly select active replacement with retained outgoing authority
|
|
123
|
+
- `--writers-quiesced`: assert that all writers have been externally stopped
|
|
124
|
+
- `--json`: emit restore recovery metadata
|
|
125
|
+
|
|
126
|
+
<!-- END FORGELOOP GENERATED: cli:storage-restore-resume:options -->
|
|
127
|
+
|
|
128
|
+
### `storage-restore`
|
|
129
|
+
|
|
130
|
+
Restores an attachment-inclusive backup into a project with no existing operational state. Requires explicit exclusion of all writers. Retains an independent snapshot and restore journal; failed operations keep maintenance exclusion. Active-project replacement is not supported yet.
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
forgeloop storage-restore --path /path/to/fresh-project --source /path/to/verified-backup --writers-quiesced --json
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
<!-- BEGIN FORGELOOP GENERATED: cli:storage-restore:options -->
|
|
137
|
+
|
|
138
|
+
- `--path <directory>`: target project directory (default: current directory)
|
|
139
|
+
- `--source <path>`: verified attachment-inclusive backup directory; absolute or relative to the target project
|
|
140
|
+
- `--replace-active`: explicitly select active replacement with retained outgoing authority
|
|
141
|
+
- `--writers-quiesced`: assert that all writers have been externally stopped
|
|
142
|
+
- `--json`: emit restore activation metadata
|
|
143
|
+
|
|
144
|
+
<!-- END FORGELOOP GENERATED: cli:storage-restore:options -->
|
|
145
|
+
|
|
146
|
+
### `storage-backup`
|
|
147
|
+
|
|
148
|
+
Creates a database-only backup of an existing canonical SQLite project. The
|
|
149
|
+
destination is relative to the project, its parent must exist, and an existing
|
|
150
|
+
destination is never replaced. External attachments are not included.
|
|
151
|
+
|
|
152
|
+
<!-- BEGIN FORGELOOP GENERATED: cli:storage-backup:options -->
|
|
153
|
+
|
|
154
|
+
- `--path <directory>`: target project directory (default: current directory)
|
|
155
|
+
- `--destination <path>`: new backup file or attachment-inclusive directory relative to the project; parent directory must exist
|
|
156
|
+
- `--include-attachments`: create a new backup directory including all canonically referenced attachment bytes
|
|
157
|
+
- `--json`: emit backup metadata
|
|
158
|
+
|
|
159
|
+
<!-- END FORGELOOP GENERATED: cli:storage-backup:options -->
|
|
160
|
+
|
|
21
161
|
## Semantic decision projections
|
|
22
162
|
|
|
23
163
|
### `decision-status`
|
|
@@ -187,10 +327,10 @@ error codes. Default output and default JSON remain unchanged.
|
|
|
187
327
|
|
|
188
328
|
| Category | Commands |
|
|
189
329
|
| --- | --- |
|
|
330
|
+
| **Setup & Maintenance** | [`storage-restore-resume`](#storage-restore-resume), [`storage-restore`](#storage-restore), [`storage-migration-status`](#storage-migration-status), [`storage-migration-resume`](#storage-migration-resume), [`storage-rollback`](#storage-rollback), [`storage-rollback-resume`](#storage-rollback-resume), [`storage-migrate`](#storage-migrate), [`storage-backup`](#storage-backup), [`contract-revise`](#contract-revise), [`init`](#init), [`index-setup`](#index-setup), [`index-start`](#index-start), [`index-stop`](#index-stop), [`index-rebuild`](#index-rebuild), [`update`](#update), [`checkpoint-revalidate`](#checkpoint-revalidate), [`task-migrate`](#task-migrate), [`migrate-protocol`](#migrate-protocol), [`task-unlock`](#task-unlock), [`task-recover`](#task-recover), [`task-abandon`](#task-abandon), [`task-repair-contract-bootstrap`](#task-repair-contract-bootstrap), [`task-migrate-contract-bootstrap-repair`](#task-migrate-contract-bootstrap-repair), [`task-repair-legacy-recovery`](#task-repair-legacy-recovery), [`task-resume`](#task-resume) |
|
|
190
331
|
| **Inspection & Diagnostics** | [`protocol-info`](#protocol-info), [`decision-status`](#decision-status), [`decision-show`](#decision-show), [`context-plan`](#context-plan), [`model-route`](#model-route), [`semantic-plan`](#semantic-plan), [`test-inventory`](#test-inventory), [`test-utility`](#test-utility), [`test-prune-plan`](#test-prune-plan), [`doctor`](#doctor), [`index-status`](#index-status), [`search`](#search), [`metrics`](#metrics), [`usage-record`](#usage-record), [`efficiency`](#efficiency), [`eval`](#eval), [`history`](#history), [`trace`](#trace), [`reflect`](#reflect), [`progress`](#progress), [`profile-interview`](#profile-interview), [`inspect`](#inspect), [`status`](#status), [`validate-state`](#validate-state), [`validate-protocol`](#validate-protocol) |
|
|
191
332
|
| **Verification & Completion** | [`test-prune-probe`](#test-prune-probe), [`quality-baseline`](#quality-baseline), [`quality-verify`](#quality-verify), [`quality-status`](#quality-status), [`prepare-completion`](#prepare-completion), [`run-check`](#run-check), [`record-check`](#record-check), [`record-terminal-result`](#record-terminal-result), [`audit`](#audit), [`report`](#report), [`validate-receipt`](#validate-receipt), [`verify-scope`](#verify-scope) |
|
|
192
333
|
| **Lifecycle & State** | [`discover`](#discover), [`contract-create`](#contract-create), [`gate-record`](#gate-record), [`gate-revalidate`](#gate-revalidate), [`activate`](#activate), [`route`](#route), [`preflight`](#preflight), [`advance`](#advance), [`next`](#next), [`record-diagnosis`](#record-diagnosis), [`record-intervention`](#record-intervention), [`record-hypothesis-disposition`](#record-hypothesis-disposition), [`record-decision-criterion`](#record-decision-criterion), [`complete`](#complete), [`clear-state`](#clear-state), [`reconcile-closure`](#reconcile-closure), [`task-create`](#task-create), [`task-list`](#task-list), [`task-show`](#task-show), [`task-lock-status`](#task-lock-status), [`task-scope`](#task-scope) |
|
|
193
|
-
| **Setup & Maintenance** | [`contract-revise`](#contract-revise), [`init`](#init), [`index-setup`](#index-setup), [`index-start`](#index-start), [`index-stop`](#index-stop), [`index-rebuild`](#index-rebuild), [`update`](#update), [`checkpoint-revalidate`](#checkpoint-revalidate), [`task-migrate`](#task-migrate), [`migrate-protocol`](#migrate-protocol), [`task-unlock`](#task-unlock), [`task-recover`](#task-recover), [`task-abandon`](#task-abandon), [`task-repair-contract-bootstrap`](#task-repair-contract-bootstrap), [`task-migrate-contract-bootstrap-repair`](#task-migrate-contract-bootstrap-repair), [`task-repair-legacy-recovery`](#task-repair-legacy-recovery), [`task-resume`](#task-resume) |
|
|
194
334
|
| **Cross-Harness Continuity** | [`continuity`](#continuity), [`record-continuity`](#record-continuity), [`reconcile-continuity`](#reconcile-continuity), [`clear-continuity`](#clear-continuity), [`handoff-create`](#handoff-create), [`handoff-list`](#handoff-list), [`handoff-show`](#handoff-show) |
|
|
195
335
|
| **Durable Actions & Approvals** | [`run-action`](#run-action), [`action-propose`](#action-propose), [`action-record`](#action-record), [`action-show`](#action-show), [`action-reconcile`](#action-reconcile), [`action-verify`](#action-verify), [`action-authorize`](#action-authorize), [`approval-request`](#approval-request), [`approval-resolve`](#approval-resolve) |
|
|
196
336
|
| **Policy & Auditing** | [`policy`](#policy), [`policy-discover`](#policy-discover), [`policy-status`](#policy-status), [`policy-diff`](#policy-diff), [`rule-verify`](#rule-verify), [`baseline`](#baseline), [`bundle`](#bundle) |
|
|
@@ -884,7 +1024,7 @@ Reports the public compatibility handshake required by external ForgeLoop harnes
|
|
|
884
1024
|
|
|
885
1025
|
- **Example**:
|
|
886
1026
|
|
|
887
|
-
<!-- FORGELOOP EXAMPLE: cli-reference:protocol-info | exit=0 | json.
|
|
1027
|
+
<!-- FORGELOOP EXAMPLE: cli-reference:protocol-info | exit=0 | json.protocolVersion=1 | json.features.operationalStorage.sqlite.format=sqlite -->
|
|
888
1028
|
```bash
|
|
889
1029
|
forgeloop protocol-info --json
|
|
890
1030
|
```
|
|
@@ -896,7 +1036,7 @@ Initializes ForgeLoop in a target repository.
|
|
|
896
1036
|
|
|
897
1037
|
- **Purpose**: Installs canonical instruction templates under `.forgeloop/kit/`, creates discovery shims at root, and prepares `.forgeloop/`.
|
|
898
1038
|
- **When to use**: Once when onboarding a new repository to ForgeLoop.
|
|
899
|
-
- **Mutation**: Writes `.forgeloop/kit/`, `.forgeloop
|
|
1039
|
+
- **Mutation**: Writes `.forgeloop/kit/`, `.forgeloop/.gitignore`, `AGENTS.md`, `CLAUDE.md`, `.cursor/rules/project-loop.mdc`, `.github/copilot-instructions.md`.
|
|
900
1040
|
- **Options**:
|
|
901
1041
|
|
|
902
1042
|
<!-- BEGIN FORGELOOP GENERATED: cli:init:options -->
|
|
@@ -2410,6 +2550,8 @@ Migrates a legacy 1.0 single-task `.forgeloop/` layout into a namespaced task di
|
|
|
2410
2550
|
<!-- BEGIN FORGELOOP GENERATED: cli:task-migrate:options -->
|
|
2411
2551
|
|
|
2412
2552
|
- `--path <directory>`: target project directory (default: current directory)
|
|
2553
|
+
- `--destination <path>`: retained source and publication evidence destination
|
|
2554
|
+
- `--writers-quiesced`: confirm all legacy writers are stopped and excluded
|
|
2413
2555
|
- `--dry-run`: show planned migration actions without moving files
|
|
2414
2556
|
- `--json`: emit structured output as JSON
|
|
2415
2557
|
|
|
@@ -2440,6 +2582,8 @@ protocol version.
|
|
|
2440
2582
|
<!-- BEGIN FORGELOOP GENERATED: cli:migrate-protocol:options -->
|
|
2441
2583
|
|
|
2442
2584
|
- `--path <directory>`: target project directory (default: current directory)
|
|
2585
|
+
- `--destination <path>`: retained source and publication evidence destination
|
|
2586
|
+
- `--writers-quiesced`: confirm all legacy writers are stopped and excluded
|
|
2443
2587
|
- `--to <protocolVersion>`: target supported protocol version
|
|
2444
2588
|
- `--dry-run`: show migration actions without writing or deleting artifacts
|
|
2445
2589
|
- `--json`: emit structured migration result as JSON
|
|
@@ -233,14 +233,16 @@ not the canonical protocol diagram. The typed Archify workflow under
|
|
|
233
233
|
`docs/diagrams/` remains the canonical lifecycle architecture source, with
|
|
234
234
|
generated outputs under `docs/assets/diagrams/`; the CLI-only persistent search
|
|
235
235
|
transport is explained by `docs/PERSISTENT_SEARCH_TRANSPORT.md`. The current
|
|
236
|
-
repository-only assets are `docs/assets/forgeloop-architecture.
|
|
237
|
-
|
|
236
|
+
repository-only assets are `docs/assets/forgeloop-architecture.png`, the
|
|
237
|
+
alternate [architecture SVG](./assets/forgeloop-architecture.svg), and
|
|
238
|
+
`docs/assets/forgeloop-lifecycle-animated.svg`; none is a package file.
|
|
238
239
|
|
|
239
240
|
The README hero is intentionally GitHub-repository-only:
|
|
240
241
|
|
|
241
|
-
- `README.md` references `docs/assets/forgeloop-architecture.
|
|
242
|
+
- `README.md` references `docs/assets/forgeloop-architecture.png` for the hero
|
|
242
243
|
and `docs/assets/forgeloop-lifecycle-animated.svg` for the looping overview;
|
|
243
|
-
both are repository-only and excluded from the npm package.
|
|
244
|
+
both are repository-only and excluded from the npm package. The architecture
|
|
245
|
+
SVG remains available as a repository-only alternate.
|
|
244
246
|
- `tests/package.test.js` asserts those exclusions so they cannot be silently
|
|
245
247
|
re-included.
|
|
246
248
|
- The packaged README is therefore not self-contained for that relative hero
|
package/docs/GETTING_STARTED.md
CHANGED
|
@@ -6,7 +6,7 @@ This guide walks through your first complete task with ForgeLoop from initializa
|
|
|
6
6
|
|
|
7
7
|
## 1. What is ForgeLoop?
|
|
8
8
|
|
|
9
|
-
ForgeLoop is a
|
|
9
|
+
ForgeLoop is a vendor-neutral engineering protocol for AI-assisted coding and automated workflows. It turns a task outcome into:
|
|
10
10
|
|
|
11
11
|
- **A structured contract** (`.forgeloop/task-state/<taskKey>/contract.json`);
|
|
12
12
|
- **Deterministic guide routing** based on declared work type, surfaces, and risks;
|
|
@@ -108,7 +108,7 @@ and numeric limits.
|
|
|
108
108
|
|
|
109
109
|
## 2. Prerequisites
|
|
110
110
|
|
|
111
|
-
- **Node.js**: version
|
|
111
|
+
- **Node.js**: version 24.19.0 or higher (`node -v`), with built-in `node:sqlite`
|
|
112
112
|
- **npm**: standard npm toolchain
|
|
113
113
|
|
|
114
114
|
---
|
|
@@ -281,7 +281,7 @@ forgeloop route \
|
|
|
281
281
|
--json
|
|
282
282
|
```
|
|
283
283
|
|
|
284
|
-
This
|
|
284
|
+
This records selected guides (e.g. `clean`, `test`, `security`, `design`, `accessibility`) in SQLite. `.forgeloop/task-state/<taskKey>/routing-result.json` is the logical artifact identity and explicit export path. Native mutations require a selected task; create one first or select an existing task.
|
|
285
285
|
|
|
286
286
|
---
|
|
287
287
|
|
package/docs/PACKAGE_CONTENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Core npm package contents
|
|
2
2
|
|
|
3
|
-
This page describes the intentional boundary of the
|
|
3
|
+
This page describes the intentional boundary of the privately delivered
|
|
4
4
|
`@cassiomc1/forgeloop` package. The [`files`](../package.json) list in
|
|
5
5
|
`package.json` is the packaging source of truth, while the repository's
|
|
6
6
|
`tests/package.test.js` and clean-room `scripts/package_smoke.mjs` checks keep
|
|
@@ -55,7 +55,7 @@ The published tarball includes the following consumer-facing groups:
|
|
|
55
55
|
not additional package guides. The package does not install or invoke
|
|
56
56
|
framework, compiler, build, package-manager, or database tooling.
|
|
57
57
|
- **Initialization material:** the root protocol and integration documents,
|
|
58
|
-
|
|
58
|
+
the PolyForm Noncommercial license, third-party notices, the target profile template, and every path listed by
|
|
59
59
|
`src/core/templates.js`. These files are read by `init` and `update`, so
|
|
60
60
|
they are part of the executable consumer contract even when a document is
|
|
61
61
|
marked deprecated in the documentation manifest.
|
|
@@ -94,8 +94,8 @@ The tarball intentionally omits repository-only material:
|
|
|
94
94
|
Harness-specific Agent Skill installation directories and Skill caches are
|
|
95
95
|
not packaged.
|
|
96
96
|
- local `.forgeloop` state, task ledgers, locks, transactions, and execution
|
|
97
|
-
receipts
|
|
98
|
-
|
|
97
|
+
receipts; the target `.forgeloop/.gitignore` is generated from an inline
|
|
98
|
+
runtime template and no `.forgeloop/*` files are packaged;
|
|
99
99
|
- raw or aggregate benchmark results, package archives, and release train
|
|
100
100
|
contracts;
|
|
101
101
|
- the Ripwire retrieval benchmark runner, cases, and fixture corpus; those
|
|
@@ -104,9 +104,11 @@ The tarball intentionally omits repository-only material:
|
|
|
104
104
|
- historical release plans and retired MCP adapter sources; the MCP adapter
|
|
105
105
|
is published as its own package;
|
|
106
106
|
- the repository-only README hero assets
|
|
107
|
-
`docs/assets/forgeloop-architecture.
|
|
108
|
-
`docs/assets/forgeloop-
|
|
109
|
-
|
|
107
|
+
`docs/assets/forgeloop-architecture.png`,
|
|
108
|
+
`docs/assets/forgeloop-architecture.svg`, and
|
|
109
|
+
`docs/assets/forgeloop-lifecycle-animated.svg`. The PNG and animated SVG are
|
|
110
|
+
referenced by the repository README; all three are intentionally outside
|
|
111
|
+
the core tarball.
|
|
110
112
|
- the execution PoC, its audit, and its evidence package. Packaged README and
|
|
111
113
|
index links to this repository-only material use GitHub URLs so they remain
|
|
112
114
|
truthful for npm consumers.
|
|
@@ -134,9 +136,8 @@ exercises the CLI, public Integration API, initialization, schemas, and the
|
|
|
134
136
|
Structural Quality documentation's packaged diagram references. The
|
|
135
137
|
package-boundary tests also assert
|
|
136
138
|
that every registered guide path, including all language specialists, is
|
|
137
|
-
present in the candidate. The
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
publish it.
|
|
139
|
+
present in the candidate. The manual, explicitly authorized publication workflow runs the same smoke
|
|
140
|
+
gate before `npm publish --provenance --access public`.
|
|
141
|
+
Publication therefore remains owned by the authorized manual GitHub Actions
|
|
142
|
+
workflow and uses public npm access for the core package; local package inspection proves the
|
|
143
|
+
candidate boundary but does not publish it.
|