@cassiomc1/forgeloop 1.6.3 → 1.6.4
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 +26 -4
- package/EXECUTION_STATE.md +7 -0
- package/LOOP_ENGINEERING.md +58 -0
- package/LOOP_SYSTEM_DESIGN.md +54 -0
- package/ORCHESTRATOR_INTEGRATION.md +23 -0
- package/PROTOCOL_INTEGRATION.md +36 -0
- package/QUALITY_SCORECARD.md +21 -0
- package/README.md +55 -0
- package/TERMINOLOGY.md +11 -0
- package/THREAT_MODEL.md +7 -0
- package/completions/_forgeloop +85 -0
- package/completions/forgeloop.bash +173 -0
- package/completions/forgeloop.fish +544 -0
- package/docs/AGENT_PROTOCOL_SUMMARY.md +281 -0
- package/docs/ARTIFACT_REFERENCE.md +226 -0
- package/docs/CLI_REFERENCE.md +308 -2
- package/docs/CODE_ATTESTATION.md +141 -0
- package/docs/CROSS_HARNESS_CONTINUITY.md +22 -2
- package/docs/DOCUMENTATION_GUIDE.md +13 -11
- package/docs/GETTING_STARTED.md +98 -1
- package/docs/MCP.md +8 -0
- package/docs/PLATFORM_ADAPTERS.md +69 -0
- package/docs/RECIPES.md +138 -0
- package/docs/RELEASE_CHECKLIST.md +54 -0
- package/docs/REVISION_PROVIDERS.md +136 -0
- package/docs/SIGNING_PROVIDERS.md +83 -0
- package/docs/TROUBLESHOOTING.md +184 -0
- package/docs/UNIVERSAL_INTEGRATION.md +11 -0
- package/docs/assets/diagrams/forgeloop-code-attestation-flow.html +13841 -0
- package/docs/assets/diagrams/forgeloop-code-attestation-flow.receipt.json +37 -0
- package/docs/assets/diagrams/forgeloop-code-attestation-flow.svg +5046 -0
- package/docs/assets/diagrams/forgeloop-engineering-flow.html +46 -43
- package/docs/assets/diagrams/forgeloop-engineering-flow.receipt.json +6 -6
- package/docs/assets/diagrams/forgeloop-engineering-flow.svg +41 -41
- package/docs/assets/diagrams/forgeloop-verification-trust-flow.html +13783 -0
- package/docs/assets/diagrams/forgeloop-verification-trust-flow.receipt.json +37 -0
- package/docs/assets/diagrams/forgeloop-verification-trust-flow.svg +4988 -0
- package/docs/diagrams/README.md +30 -22
- package/docs/diagrams/forgeloop-code-attestation-flow.workflow.json +125 -0
- package/docs/diagrams/forgeloop-engineering-flow.workflow.json +11 -8
- package/docs/diagrams/forgeloop-verification-trust-flow.workflow.json +116 -0
- package/docs/diagrams/manifest.json +42 -0
- package/docs/diagrams/reviews/forgeloop-code-attestation-flow.review.json +20 -0
- package/docs/diagrams/reviews/forgeloop-engineering-flow.review.json +3 -3
- package/docs/diagrams/reviews/forgeloop-verification-trust-flow.review.json +20 -0
- package/integrations/generic-ci/verify.sh +14 -0
- package/package.json +31 -9
- package/schemas/attestation-verification-result.schema.json +34 -0
- package/schemas/code-attestation.schema.json +61 -0
- package/schemas/code-manifest.schema.json +57 -0
- package/schemas/config.schema.json +57 -1
- package/schemas/handoff-envelope.schema.json +57 -0
- package/schemas/in-toto-statement.schema.json +32 -0
- package/schemas/responsibility.schema.json +37 -0
- package/schemas/verification-scope.schema.json +26 -0
- package/schemas/workspace-binding.schema.json +20 -0
- package/scripts/CI_VALIDATORS.md +3 -0
- package/scripts/benchmark-cli-startup.mjs +60 -0
- package/scripts/check-changelog-freshness.mjs +88 -0
- package/scripts/check-critical-coverage.mjs +58 -0
- package/scripts/generate-agent-protocol-summary.mjs +141 -0
- package/scripts/generate-shell-completions.mjs +132 -0
- package/scripts/write-forgeloop-attestation-summary.mjs +93 -0
- package/src/cli.js +114 -6
- package/src/commands/attestation-create.js +30 -0
- package/src/commands/attestation-status.js +12 -0
- package/src/commands/attestation-verify-range.js +32 -0
- package/src/commands/attestation-verify.js +23 -0
- package/src/commands/handoff-create.js +9 -0
- package/src/commands/handoff-list.js +12 -0
- package/src/commands/handoff-show.js +10 -0
- package/src/commands/responsibility-set.js +20 -0
- package/src/commands/responsibility-status.js +12 -0
- package/src/commands/run-check.js +43 -3
- package/src/commands/task-repair-legacy-recovery.js +1 -2
- package/src/commands/verify-scope.js +9 -0
- package/src/commands/workspace-bind.js +17 -0
- package/src/commands/workspace-status.js +19 -0
- package/src/core/artifact-registry.js +84 -0
- package/src/core/attestation-coverage.js +134 -0
- package/src/core/attestation-verifier.js +227 -0
- package/src/core/attestation.js +263 -0
- package/src/core/audit.js +67 -1
- package/src/core/bundles.js +210 -9
- package/src/core/cli-command-definitions.js +196 -0
- package/src/core/code-manifest.js +293 -0
- package/src/core/command-executors.js +79 -0
- package/src/core/command-input.js +69 -18
- package/src/core/command-runtime.js +2 -1
- package/src/core/completion.js +170 -8
- package/src/core/config.js +60 -2
- package/src/core/continuity-cli-options.js +9 -3
- package/src/core/continuity-reconciliation.js +20 -0
- package/src/core/diagnostic-projection.js +3 -1
- package/src/core/error-codes.js +146 -0
- package/src/core/events.js +109 -13
- package/src/core/exit-codes.js +22 -0
- package/src/core/handoff.js +208 -0
- package/src/core/information-gain-projection.js +3 -3
- package/src/core/integration-invocation-policy.js +40 -0
- package/src/core/integration-resources.js +54 -0
- package/src/core/next-action-phases.js +968 -0
- package/src/core/next-action.js +32 -951
- package/src/core/phase.js +29 -1
- package/src/core/protocol-info.js +41 -1
- package/src/core/repository.js +256 -11
- package/src/core/responsibility.js +265 -0
- package/src/core/revision/git.js +207 -0
- package/src/core/revision/provider.js +90 -0
- package/src/core/revision/registry.js +5 -0
- package/src/core/route-artifact.js +1 -1
- package/src/core/schema-validation.js +8 -0
- package/src/core/signing/none.js +23 -0
- package/src/core/signing/provider.js +21 -0
- package/src/core/signing/registry.js +7 -0
- package/src/core/signing/sigstore.js +158 -0
- package/src/core/task-command.js +9 -1
- package/src/core/task-paths.js +72 -0
- package/src/core/templates.js +8 -0
- package/src/core/verification-scope-capability.js +179 -0
- package/src/core/verification-scope.js +271 -0
- package/src/core/workspace-binding.js +211 -0
- package/src/integration.d.ts +91 -0
- package/AGENT_COMPATIBILITY.md +0 -11
- package/docs/RELEASE_CHECKLIST_1_4.md +0 -38
- package/docs/RELEASE_CHECKLIST_1_5_MCP.md +0 -78
- package/docs/RELEASE_CHECKLIST_1_6_1.md +0 -121
package/docs/TROUBLESHOOTING.md
CHANGED
|
@@ -24,6 +24,11 @@ This guide provides symptom-first recovery procedures for common ForgeLoop proto
|
|
|
24
24
|
- [Policy weakening detected (`E_POLICY_WEAKENING`)](#symptom-policy-weakening-detected)
|
|
25
25
|
- [Baseline re-record blocked during active task (`E_BASELINE_RECORD_DURING_ACTIVE_TASK`)](#symptom-baseline-re-record-blocked-during-active-task)
|
|
26
26
|
- [Mutation checker execution error (`E_CHECK_MUTATION_EXECUTION_ERROR`)](#symptom-mutation-checker-execution-error)
|
|
27
|
+
- [Workspace binding mismatch or invalid identity](#symptom-workspace-binding-mismatch-or-invalid-identity)
|
|
28
|
+
- [Handoff is invalid or tampered](#symptom-handoff-is-invalid-or-tampered)
|
|
29
|
+
- [Responsibility contract rejects a pass](#symptom-responsibility-contract-rejects-a-pass)
|
|
30
|
+
- [Verification scope is stale or unresolved](#symptom-verification-scope-is-stale-or-unresolved)
|
|
31
|
+
- [Attestation or revision coverage is invalid](#symptom-attestation-or-revision-coverage-is-invalid)
|
|
27
32
|
- [Another harness cannot resume the task](#symptom-another-harness-cannot-resume)
|
|
28
33
|
- [Task claim conflict or recovered task](#symptom-task-creation-blocked-by-a-write-claim-conflict-e_task_scope_conflict)
|
|
29
34
|
- [Stable Error & Reason Code Reference](#stable-error-and-reason-codes)
|
|
@@ -726,6 +731,140 @@ A policy rule checker threw an unhandled exception while evaluating its syntheti
|
|
|
726
731
|
|
|
727
732
|
---
|
|
728
733
|
|
|
734
|
+
### Symptom: Workspace Binding Mismatch or Invalid Identity
|
|
735
|
+
|
|
736
|
+
#### Error Codes: `E_WORKSPACE_BINDING_MISMATCH`, `E_WORKSPACE_IDENTITY_UNAVAILABLE`, `E_WORKSPACE_BINDING_INVALID`
|
|
737
|
+
|
|
738
|
+
#### What it means
|
|
739
|
+
|
|
740
|
+
The task's optional workspace binding does not match the current repository or
|
|
741
|
+
worktree, or the identity cannot be derived or parsed. A branch name or HEAD
|
|
742
|
+
alone is not a complete workspace identity.
|
|
743
|
+
|
|
744
|
+
#### Safe recovery
|
|
745
|
+
|
|
746
|
+
Inspect the derived result and current task before changing anything:
|
|
747
|
+
|
|
748
|
+
```bash
|
|
749
|
+
forgeloop workspace-status --task <id> --json
|
|
750
|
+
forgeloop status --task <id> --json
|
|
751
|
+
forgeloop inspect --task <id> --json
|
|
752
|
+
```
|
|
753
|
+
|
|
754
|
+
Return to the bound checkout or create a deliberate new task/worktree. Do not
|
|
755
|
+
edit `workspace-binding.json` manually or bypass the boundary. Rebinding is an
|
|
756
|
+
explicit operation only when the task's scope permits it.
|
|
757
|
+
|
|
758
|
+
---
|
|
759
|
+
|
|
760
|
+
### Symptom: Handoff Is Invalid or Tampered
|
|
761
|
+
|
|
762
|
+
#### Error Codes: `E_HANDOFF_INVALID`, `E_HANDOFF_STATE_UNAVAILABLE`, `E_HANDOFF_TAMPERED`, `E_HANDOFF_NOT_FOUND`
|
|
763
|
+
|
|
764
|
+
#### What it means
|
|
765
|
+
|
|
766
|
+
The immutable handoff envelope is malformed, its state is unavailable, its
|
|
767
|
+
digest no longer matches, or the requested snapshot does not exist. A handoff
|
|
768
|
+
note is not delegation, authority, independent review evidence, or completion
|
|
769
|
+
evidence.
|
|
770
|
+
|
|
771
|
+
#### Safe recovery
|
|
772
|
+
|
|
773
|
+
```bash
|
|
774
|
+
forgeloop handoff-list --task <id> --json
|
|
775
|
+
forgeloop handoff-show --task <id> --id <handoffId> --json
|
|
776
|
+
forgeloop continuity --task <id> --json
|
|
777
|
+
forgeloop reconcile-continuity --task <id> --json
|
|
778
|
+
```
|
|
779
|
+
|
|
780
|
+
Use the last valid handoff or continuity only to focus inspection, then trust
|
|
781
|
+
the canonical task state and checkout. Never repair a handoff by editing or
|
|
782
|
+
deleting its JSON file.
|
|
783
|
+
|
|
784
|
+
---
|
|
785
|
+
|
|
786
|
+
### Symptom: Responsibility Contract Rejects a Pass
|
|
787
|
+
|
|
788
|
+
#### Error Codes: `E_RESPONSIBILITY_INVALID`, `E_RESPONSIBILITY_SCOPE_VIOLATION`, `E_RESPONSIBILITY_FROZEN_INPUT_DRIFT`, `E_RESPONSIBILITY_REQUIRED_CHECK_MISSING`
|
|
789
|
+
|
|
790
|
+
#### What it means
|
|
791
|
+
|
|
792
|
+
An optional responsibility contract is malformed, a changed path is outside
|
|
793
|
+
the allowed boundary, a frozen contract/route/claims input drifted, or a
|
|
794
|
+
required check is missing. Its label is descriptive and does not represent a
|
|
795
|
+
coder, reviewer, or cleaner role.
|
|
796
|
+
|
|
797
|
+
#### Safe recovery
|
|
798
|
+
|
|
799
|
+
```bash
|
|
800
|
+
forgeloop responsibility-status --task <id> --json
|
|
801
|
+
forgeloop inspect --task <id> --json
|
|
802
|
+
forgeloop next --task <id> --json
|
|
803
|
+
```
|
|
804
|
+
|
|
805
|
+
Restore the declared scope or create a new explicit responsibility decision
|
|
806
|
+
through `responsibility-set`. Do not widen the JSON artifact manually and do
|
|
807
|
+
not relabel the pass to bypass enforcement.
|
|
808
|
+
|
|
809
|
+
---
|
|
810
|
+
|
|
811
|
+
### Symptom: Verification Scope Is Stale or Unresolved
|
|
812
|
+
|
|
813
|
+
#### Error Codes: `E_VERIFICATION_SCOPE_INVALID`, `E_VERIFICATION_SCOPE_STALE`, `E_VERIFICATION_SCOPE_UNRESOLVED`
|
|
814
|
+
|
|
815
|
+
#### What it means
|
|
816
|
+
|
|
817
|
+
The scope is malformed or no longer matches the task's cycle, claims, contract,
|
|
818
|
+
repository fingerprint, changed paths, or checker capability. `CHANGED` and
|
|
819
|
+
`CLAIMED` require a trusted scoped checker; `AUTO` uses those modes only when
|
|
820
|
+
they can be proved and otherwise resolves to `FULL`. There is no heuristic
|
|
821
|
+
`IMPACTED` mode.
|
|
822
|
+
|
|
823
|
+
#### Safe recovery
|
|
824
|
+
|
|
825
|
+
```bash
|
|
826
|
+
forgeloop verify-scope --task <id> --mode AUTO --json
|
|
827
|
+
forgeloop run-check --task <id> --id <checkId> \
|
|
828
|
+
--requirement "<requirement>" \
|
|
829
|
+
--scope-ref .forgeloop/task-state/<taskKey>/verification-scope.json \
|
|
830
|
+
-- <exact-argv-prefix-and-paths>
|
|
831
|
+
```
|
|
832
|
+
|
|
833
|
+
If no trusted scoped checker is configured, run a full check or record the
|
|
834
|
+
scope as unresolved. An exact argv or selected-path mismatch is rejected before
|
|
835
|
+
launch; do not retry with guessed paths or edit the scope artifact.
|
|
836
|
+
|
|
837
|
+
---
|
|
838
|
+
|
|
839
|
+
### Symptom: Attestation or Revision Coverage Is Invalid
|
|
840
|
+
|
|
841
|
+
#### Error Codes: `E_ATTESTATION_MANIFEST_INVALID`, `E_ATTESTATION_MANIFEST_STALE`, `E_ATTESTATION_STATEMENT_INVALID`, `E_ATTESTATION_UNSIGNED`, `E_ATTESTATION_SIGNATURE_INVALID`, `E_ATTESTATION_SIGNER_UNAVAILABLE`, `E_ATTESTATION_IDENTITY_UNTRUSTED`, `E_ATTESTATION_ISSUER_UNTRUSTED`, `E_ATTESTATION_COVERAGE_GAP`, `E_ATTESTATION_COVERAGE_CONFLICT`, `E_REVISION_PROVIDER_UNAVAILABLE`, `E_REVISION_CONTENT_UNAVAILABLE`
|
|
842
|
+
|
|
843
|
+
#### What it means
|
|
844
|
+
|
|
845
|
+
The exact source-content manifest, completion/ledger binding, in-toto
|
|
846
|
+
statement, signer policy, revision provider, or range coverage is missing,
|
|
847
|
+
stale, invalid, unavailable, or conflicting. `PROCESSED` is not `VERIFIED`,
|
|
848
|
+
and `VERIFIED` is not `ATTESTED` without a valid external signature.
|
|
849
|
+
|
|
850
|
+
#### Safe recovery
|
|
851
|
+
|
|
852
|
+
Use read-only inspection first:
|
|
853
|
+
|
|
854
|
+
```bash
|
|
855
|
+
forgeloop attestation-status --task <id> --json
|
|
856
|
+
forgeloop attestation-verify --task <id> --ref HEAD --json
|
|
857
|
+
forgeloop attestation-verify-range --revision-provider git \
|
|
858
|
+
--base origin/main --head HEAD --require-complete-coverage --json
|
|
859
|
+
```
|
|
860
|
+
|
|
861
|
+
Correct the named source or provider boundary through its canonical lifecycle.
|
|
862
|
+
Uncovered paths and conflicting task digests fail closed; an unavailable signer
|
|
863
|
+
does not become a valid signature. Never edit a manifest, statement, receipt,
|
|
864
|
+
ledger, or signature bundle manually, and never persist credentials in them.
|
|
865
|
+
|
|
866
|
+
---
|
|
867
|
+
|
|
729
868
|
### Symptom: Another Harness Cannot Resume
|
|
730
869
|
|
|
731
870
|
#### Likely causes
|
|
@@ -780,6 +919,31 @@ forgeloop next --task <id> --json
|
|
|
780
919
|
| `E_APPROVAL_ALREADY_RESOLVED` | Approval is one-time resolvable and has already been approved or rejected. | Request a new approval if another decision is required. |
|
|
781
920
|
| `E_APPROVAL_INVALID` | Approval artifact is malformed or does not bind the required fingerprint tuple. | Request a new approval with forgeloop approval-request; never hand-edit approval artifacts. |
|
|
782
921
|
| `E_APPROVAL_STALE` | Approval no longer matches the current action fingerprint, contract fingerprint, task revision, or capability. | Request and resolve a fresh approval against the current action revision. |
|
|
922
|
+
| `E_ATTESTATION_CONFIGURATION_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
923
|
+
| `E_ATTESTATION_CONTENT_MISMATCH` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
924
|
+
| `E_ATTESTATION_CONTRACT_MISMATCH` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
925
|
+
| `E_ATTESTATION_COVERAGE_CONFLICT` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
926
|
+
| `E_ATTESTATION_COVERAGE_GAP` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
927
|
+
| `E_ATTESTATION_DISABLED` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
928
|
+
| `E_ATTESTATION_GIT_REQUIRED` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
929
|
+
| `E_ATTESTATION_IDENTITY_UNTRUSTED` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
930
|
+
| `E_ATTESTATION_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
931
|
+
| `E_ATTESTATION_ISSUER_UNTRUSTED` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
932
|
+
| `E_ATTESTATION_LEDGER_MISMATCH` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
933
|
+
| `E_ATTESTATION_MANIFEST_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
934
|
+
| `E_ATTESTATION_MANIFEST_MISSING` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
935
|
+
| `E_ATTESTATION_MANIFEST_STALE` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
936
|
+
| `E_ATTESTATION_RECEIPT_MISMATCH` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
937
|
+
| `E_ATTESTATION_ROUTE_MISMATCH` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
938
|
+
| `E_ATTESTATION_SCOPE_MISMATCH` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
939
|
+
| `E_ATTESTATION_SIGNATURE_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
940
|
+
| `E_ATTESTATION_SIGNER_UNAVAILABLE` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
941
|
+
| `E_ATTESTATION_STATEMENT_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
942
|
+
| `E_ATTESTATION_STATEMENT_MISSING` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
943
|
+
| `E_ATTESTATION_STATE_MISMATCH` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
944
|
+
| `E_ATTESTATION_SUBJECT_MISMATCH` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
945
|
+
| `E_ATTESTATION_TARGET_REF_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
946
|
+
| `E_ATTESTATION_UNSIGNED` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
783
947
|
| `E_AUTHORITY_INVALID` | Authority grant file is malformed or expired. | Obtain a valid authority grant from host operator. |
|
|
784
948
|
| `E_AUTHORITY_SCOPE_MISMATCH` | Authority grant does not cover the requested package. | Request updated authority scope. |
|
|
785
949
|
| `E_AUTHORITY_UNTRUSTED_SOURCE` | Authority file placed inside untrusted project tree. | Place authority file in host-managed trusted location. |
|
|
@@ -791,6 +955,7 @@ forgeloop next --task <id> --json
|
|
|
791
955
|
| `E_CHECK_MUTATION_NOT_DETECTED` | A blocking rule checker failed to detect an intentional mutation fixture. | Fix checker logic to properly identify target violations. |
|
|
792
956
|
| `E_CHECK_STATUS_CONTRADICTION` | A ForgeLoop protocol validation or lifecycle condition was not satisfied. | Inspect the structured command result, correct the named artifact or prerequisite, then run forgeloop next --json. |
|
|
793
957
|
| `E_CIRCULAR_COMPLETION_REQUIREMENT` | A ForgeLoop protocol validation or lifecycle condition was not satisfied. | Inspect the structured command result, correct the named artifact or prerequisite, then run forgeloop next --json. |
|
|
958
|
+
| `E_CLI_INVOCATION_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
794
959
|
| `E_COMMAND_RESOLUTION_AMBIGUOUS` | A ForgeLoop protocol validation or lifecycle condition was not satisfied. | Inspect the structured command result, correct the named artifact or prerequisite, then run forgeloop next --json. |
|
|
795
960
|
| `E_COMPLETION_OWNERSHIP_UNPROVEN` | Work-state claims COMPLETE but the canonical lifecycle/ledger completion proof is missing or invalid, so historical claims stay reserved. | Restore the canonical completion event and a valid ledger, or re-run the official completion pipeline; phase=COMPLETE alone never releases claims. |
|
|
796
961
|
| `E_COMPLETION_RECOVERY_UNAUTHORIZED` | A ForgeLoop protocol validation or lifecycle condition was not satisfied. | Inspect the structured command result, correct the named artifact or prerequisite, then run forgeloop next --json. |
|
|
@@ -835,6 +1000,10 @@ forgeloop next --task <id> --json
|
|
|
835
1000
|
| `E_GATE_REQUIRED` | A ForgeLoop protocol validation or lifecycle condition was not satisfied. | Inspect the structured command result, correct the named artifact or prerequisite, then run forgeloop next --json. |
|
|
836
1001
|
| `E_GATE_STALE` | Referenced gate artifact changed after approval. | Update artifact SHA-256 in gate file. |
|
|
837
1002
|
| `E_GATE_UNVERIFIED` | A ForgeLoop protocol validation or lifecycle condition was not satisfied. | Inspect the structured command result, correct the named artifact or prerequisite, then run forgeloop next --json. |
|
|
1003
|
+
| `E_HANDOFF_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1004
|
+
| `E_HANDOFF_NOT_FOUND` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1005
|
+
| `E_HANDOFF_STATE_UNAVAILABLE` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1006
|
+
| `E_HANDOFF_TAMPERED` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
838
1007
|
| `E_HYPOTHESIS_DISPOSITION_EVIDENCE_INVALID` | Hypothesis disposition evidence references do not resolve to checks of the active cycle. | Reference at least one check ID recorded in the active verification cycle. |
|
|
839
1008
|
| `E_HYPOTHESIS_DISPOSITION_INVALID` | Hypothesis disposition is malformed or references an unknown hypothesis or disallowed transition. | Record a disposition for a known hypothesis using an allowed status transition. |
|
|
840
1009
|
| `E_HYPOTHESIS_INVALID` | A ForgeLoop protocol validation or lifecycle condition was not satisfied. | Inspect the structured command result, correct the named artifact or prerequisite, then run forgeloop next --json. |
|
|
@@ -897,6 +1066,15 @@ forgeloop next --task <id> --json
|
|
|
897
1066
|
| `E_RECONCILE_REQUIREMENT_UNKNOWN` | The supplied check id and requirement text do not exactly match a contract verification item of type VERIFICATION. | Supply the exact id and requirement text of an existing contract verification item. |
|
|
898
1067
|
| `E_RECONCILE_UNSUPPORTED_DRIFT` | Work-state drift includes kinds other than REPOSITORY_CHANGED (contract or required-artifact drift). | Resolve contract or artifact drift through their dedicated recovery surfaces; reconcile-closure only refreshes repository fingerprint drift. |
|
|
899
1068
|
| `E_REPOSITORY_CHANGED` | The repository fingerprint (branch or HEAD) moved after the work-state checkpoint was recorded. | If the task objective is already satisfied in the current repository, run forgeloop reconcile-closure; otherwise resume from a checkpoint that matches the current repository. |
|
|
1069
|
+
| `E_RESPONSIBILITY_FROZEN_INPUT_DRIFT` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1070
|
+
| `E_RESPONSIBILITY_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1071
|
+
| `E_RESPONSIBILITY_REQUIRED_CHECK_MISSING` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1072
|
+
| `E_RESPONSIBILITY_SCOPE_VIOLATION` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1073
|
+
| `E_REVISION_CONTENT_UNAVAILABLE` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1074
|
+
| `E_REVISION_NOT_FOUND` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1075
|
+
| `E_REVISION_PROVIDER_AMBIGUOUS` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1076
|
+
| `E_REVISION_PROVIDER_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1077
|
+
| `E_REVISION_PROVIDER_UNAVAILABLE` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
900
1078
|
| `E_ROUTE_GUIDE_MISMATCH` | A ForgeLoop protocol validation or lifecycle condition was not satisfied. | Inspect the structured command result, correct the named artifact or prerequisite, then run forgeloop next --json. |
|
|
901
1079
|
| `E_ROUTE_INVALID` | A ForgeLoop protocol validation or lifecycle condition was not satisfied. | Inspect the structured command result, correct the named artifact or prerequisite, then run forgeloop next --json. |
|
|
902
1080
|
| `E_ROUTE_MISSING` | A ForgeLoop protocol validation or lifecycle condition was not satisfied. | Inspect the structured command result, correct the named artifact or prerequisite, then run forgeloop next --json. |
|
|
@@ -947,6 +1125,12 @@ forgeloop next --task <id> --json
|
|
|
947
1125
|
| `E_TRAJECTORY_SCENARIO_INVALID` | Trajectory scenario file is missing required fields or schema-invalid. | Correct the scenario JSON against schemas/trajectory-scenario.schema.json. |
|
|
948
1126
|
| `E_VERIFICATION_EXECUTION_INVALID` | The trusted verification execution adapter returned incomplete or invalid execution metadata. | Repair the adapter contract and rerun verification; do not promote incomplete execution evidence. |
|
|
949
1127
|
| `E_VERIFICATION_ISOLATION_UNAVAILABLE` | Verification cannot run because the required disposable or system isolation boundary is unavailable. | Use a trusted ForgeLoop execution adapter with the required isolation mode; never run the check in the live project. |
|
|
1128
|
+
| `E_VERIFICATION_SCOPE_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1129
|
+
| `E_VERIFICATION_SCOPE_STALE` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1130
|
+
| `E_VERIFICATION_SCOPE_UNRESOLVED` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
950
1131
|
| `E_VERIFICATION_TOOL_UNAVAILABLE` | Required verification executable is missing in environment. | Use local equivalent, obtain host authority, or record NOT_VERIFIED. |
|
|
1132
|
+
| `E_WORKSPACE_BINDING_INVALID` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1133
|
+
| `E_WORKSPACE_BINDING_MISMATCH` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
1134
|
+
| `E_WORKSPACE_IDENTITY_UNAVAILABLE` | A ForgeLoop boundary, artifact, provider, or attestation validation condition was not satisfied. | Inspect the structured command result, correct the named boundary or artifact, then retry the canonical command. |
|
|
951
1135
|
|
|
952
1136
|
<!-- END FORGELOOP GENERATED: public-error-codes -->
|
|
@@ -46,3 +46,14 @@ import {
|
|
|
46
46
|
All consumers share one protocol authority: `.forgeloop/` state written only
|
|
47
47
|
by canonical ForgeLoop commands, so cross-harness continuity and recovery work
|
|
48
48
|
identically regardless of transport.
|
|
49
|
+
|
|
50
|
+
Optional integrations use the same ownership boundary. ForgeLoop derives and
|
|
51
|
+
validates workspace bindings, immutable handoffs, responsibility constraints,
|
|
52
|
+
verification scopes, execution evidence, code manifests, attestation
|
|
53
|
+
statements, and provider results. The embedding host owns checkout selection,
|
|
54
|
+
model/tool execution, scheduling, transport, external signer credentials, and
|
|
55
|
+
platform presentation. A handoff or continuity note never becomes evidence;
|
|
56
|
+
`CHANGED`/`CLAIMED` verification scope never becomes revision-range coverage;
|
|
57
|
+
and only a validated external signature can raise `VERIFIED` to `ATTESTED`.
|
|
58
|
+
These extensions are optional and do not change the zero-configuration basic
|
|
59
|
+
loop.
|