abelien-harness 0.15.0 → 0.16.1
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/.env.example +5 -0
- package/README.md +13 -10
- package/bin/cli.mjs +11 -1
- package/package.json +5 -3
- package/skills/abelien-3dgen/SKILL.md +9 -4
- package/skills/abelien-algorithm/SKILL.md +35 -27
- package/skills/abelien-algorithm/actions/algorithm.candidates.json +43 -0
- package/skills/abelien-algorithm/actions/algorithm.finalize.json +38 -0
- package/skills/abelien-algorithm/actions/algorithm.lane-state.json +38 -0
- package/skills/abelien-algorithm/actions/algorithm.research.json +70 -0
- package/skills/abelien-algorithm/bindings.json +58 -0
- package/skills/abelien-algorithm/contract/host-tools.generated.json +1235 -0
- package/skills/abelien-algorithm/domain.json +8 -2
- package/skills/abelien-algorithm/references/actions/algorithm.candidates.generated.md +77 -0
- package/skills/abelien-algorithm/references/actions/algorithm.finalize.generated.md +93 -0
- package/skills/abelien-algorithm/references/actions/algorithm.lane-state.generated.md +67 -0
- package/skills/abelien-algorithm/references/actions/algorithm.research.generated.md +93 -0
- package/skills/abelien-algorithm/references/actions.generated.md +11 -0
- package/skills/abelien-algorithm/references/research-policy.md +14 -8
- package/skills/abelien-algorithm/references/selection-service-contract.md +4 -4
- package/skills/abelien-algorithm/schemas/algorithm-common.v1.json +22 -0
- package/skills/abelien-algorithm/schemas/candidates-input.v1.json +15 -0
- package/skills/abelien-algorithm/schemas/candidates-result.v1.json +17 -0
- package/skills/abelien-algorithm/schemas/finalize-input.v1.json +17 -0
- package/skills/abelien-algorithm/schemas/finalize-result.v1.json +28 -0
- package/skills/abelien-algorithm/schemas/lane-state-input.v1.json +14 -0
- package/skills/abelien-algorithm/schemas/lane-state-result.v1.json +14 -0
- package/skills/abelien-algorithm/schemas/research-input.v1.json +45 -0
- package/skills/abelien-algorithm/schemas/research-result.v1.json +19 -0
- package/skills/abelien-algorithm/scripts/evidence.mjs +8 -5
- package/skills/abelien-algorithm/scripts/research.mjs +14 -11
- package/skills/abelien-algorithm/workflows/user-journey-algorithm.json +1 -1
- package/skills/abelien-appearance/SKILL.md +9 -6
- package/skills/abelien-appearance/actions/appearance.points-fallback.json +31 -0
- package/skills/abelien-appearance/actions/appearance.points.json +41 -0
- package/skills/abelien-appearance/bindings.json +32 -0
- package/skills/abelien-appearance/contract/host-tools.generated.json +1644 -0
- package/skills/abelien-appearance/domain.json +73 -0
- package/skills/abelien-appearance/references/actions/appearance.points-fallback.generated.md +74 -0
- package/skills/abelien-appearance/references/actions/appearance.points.generated.md +221 -0
- package/skills/abelien-appearance/references/actions.generated.md +9 -0
- package/skills/abelien-appearance/references/points.md +63 -0
- package/skills/abelien-appearance/references/visual-review.md +2 -2
- package/skills/abelien-appearance/schemas/points-fallback-input.v1.json +16 -0
- package/skills/abelien-appearance/schemas/points-fallback-result.v1.json +18 -0
- package/skills/abelien-appearance/schemas/points-input.v1.json +36 -0
- package/skills/abelien-appearance/schemas/points-reading.v1.json +90 -0
- package/skills/abelien-appearance/schemas/points-result.v1.json +60 -0
- package/skills/abelien-appearance/scripts/points.mjs +169 -0
- package/skills/abelien-appearance/scripts/schemas.mjs +27 -0
- package/skills/abelien-clarify/SKILL.md +3 -5
- package/skills/abelien-clarify/contract/host-tools.generated.json +6 -0
- package/skills/abelien-clarify/domain.json +14 -0
- package/skills/abelien-clarify/references/actions.generated.md +7 -0
- package/skills/abelien-clarify/references/runtime-contract.md +9 -0
- package/skills/abelien-clarify/schemas/skill-result.v1.json +253 -0
- package/skills/abelien-clarify/scripts/validate-result.mjs +80 -0
- package/skills/abelien-guide/SKILL.md +2 -6
- package/skills/abelien-guide/references/shared-response-rules.md +1 -1
- package/skills/abelien-hardware/SKILL.md +43 -12
- package/skills/abelien-hardware/actions/hardware.change-scope.json +31 -0
- package/skills/abelien-hardware/actions/hardware.finalize.json +33 -0
- package/skills/abelien-hardware/actions/hardware.guide.json +27 -0
- package/skills/abelien-hardware/actions/hardware.prepare.json +28 -0
- package/skills/abelien-hardware/actions/hardware.replace-plan.json +31 -0
- package/skills/abelien-hardware/actions/hardware.resource.json +27 -0
- package/skills/abelien-hardware/actions/hardware.search.json +97 -0
- package/skills/abelien-hardware/actions/hardware.select.json +64 -0
- package/skills/abelien-hardware/actions/hardware.selection-commit.json +73 -0
- package/skills/abelien-hardware/actions/hardware.selection-propose.json +52 -0
- package/skills/abelien-hardware/actions/hardware.selection-recall.json +47 -0
- package/skills/abelien-hardware/actions/hardware.web-extract.json +28 -0
- package/skills/abelien-hardware/actions/hardware.web-merge.json +48 -0
- package/skills/abelien-hardware/actions/hardware.web-search.json +87 -0
- package/skills/abelien-hardware/actions/hardware.wiki.json +27 -0
- package/skills/abelien-hardware/actions/hardware.workflow.json +31 -0
- package/skills/abelien-hardware/bindings.json +302 -0
- package/skills/abelien-hardware/contract/hardware-journey-orchestration.md +9 -1
- package/skills/abelien-hardware/contract/host-tools.generated.json +16216 -0
- package/skills/abelien-hardware/contract/online-supplement-host.md +2 -2
- package/skills/abelien-hardware/contract/web-evidence-contract.md +5 -5
- package/skills/abelien-hardware/domain.json +97 -2
- package/skills/abelien-hardware/references/actions/hardware.change-scope.generated.md +139 -0
- package/skills/abelien-hardware/references/actions/hardware.finalize.generated.md +175 -0
- package/skills/abelien-hardware/references/actions/hardware.guide.generated.md +37 -0
- package/skills/abelien-hardware/references/actions/hardware.prepare.generated.md +38 -0
- package/skills/abelien-hardware/references/actions/hardware.replace-plan.generated.md +120 -0
- package/skills/abelien-hardware/references/actions/hardware.resource.generated.md +43 -0
- package/skills/abelien-hardware/references/actions/hardware.search.generated.md +150 -0
- package/skills/abelien-hardware/references/actions/hardware.select.generated.md +178 -0
- package/skills/abelien-hardware/references/actions/hardware.selection-commit.generated.md +475 -0
- package/skills/abelien-hardware/references/actions/hardware.selection-propose.generated.md +471 -0
- package/skills/abelien-hardware/references/actions/hardware.selection-recall.generated.md +355 -0
- package/skills/abelien-hardware/references/actions/hardware.web-extract.generated.md +36 -0
- package/skills/abelien-hardware/references/actions/hardware.web-merge.generated.md +168 -0
- package/skills/abelien-hardware/references/actions/hardware.web-search.generated.md +165 -0
- package/skills/abelien-hardware/references/actions/hardware.wiki.generated.md +41 -0
- package/skills/abelien-hardware/references/actions/hardware.workflow.generated.md +94 -0
- package/skills/abelien-hardware/references/actions.generated.md +23 -0
- package/skills/abelien-hardware/references/hardware-selection/SKILL.md +13 -5
- package/skills/abelien-hardware/references/hardware-selection/references/query-contract.md +21 -50
- package/skills/abelien-hardware/references/selection-evidence-v2.md +76 -0
- package/skills/abelien-hardware/references/selection-service-contract.md +9 -4
- package/skills/abelien-hardware/schemas/change-scope-input.v1.json +29 -0
- package/skills/abelien-hardware/schemas/change-scope-result.v1.json +21 -0
- package/skills/abelien-hardware/schemas/hardware-common.v1.json +188 -0
- package/skills/abelien-hardware/schemas/hardware-selection-actions.v1.json +154 -0
- package/skills/abelien-hardware/schemas/hardware-selection.v2.json +502 -0
- package/skills/abelien-hardware/schemas/host-tools-input.v1.json +292 -0
- package/skills/abelien-hardware/schemas/proposal-input.v1.json +149 -0
- package/skills/abelien-hardware/schemas/proposal-result.v1.json +25 -0
- package/skills/abelien-hardware/schemas/replace-plan-input.v1.json +33 -0
- package/skills/abelien-hardware/schemas/replace-plan-result.v1.json +16 -0
- package/skills/abelien-hardware/schemas/search-input.v1.json +42 -0
- package/skills/abelien-hardware/schemas/search-result.v1.json +18 -0
- package/skills/abelien-hardware/schemas/select-input.v1.json +39 -0
- package/skills/abelien-hardware/schemas/select-result.v1.json +27 -0
- package/skills/abelien-hardware/schemas/web-merge-input.v1.json +52 -0
- package/skills/abelien-hardware/schemas/web-merge-result.v1.json +18 -0
- package/skills/abelien-hardware/schemas/web-search-input.v1.json +42 -0
- package/skills/abelien-hardware/schemas/web-search-result.v1.json +18 -0
- package/skills/abelien-hardware/scripts/provider-chain-contract.mjs +26 -12
- package/skills/abelien-hardware/scripts/replace-plan.mjs +14 -2
- package/skills/abelien-hardware/scripts/response-redaction.mjs +2 -1
- package/skills/abelien-hardware/scripts/selection-bom-use.mjs +47 -0
- package/skills/abelien-hardware/scripts/selection-commit.mjs +41 -0
- package/skills/abelien-hardware/scripts/selection-model.mjs +293 -0
- package/skills/abelien-hardware/scripts/selection-propose.mjs +327 -0
- package/skills/abelien-hardware/scripts/selection-recall.mjs +240 -0
- package/skills/abelien-hardware/scripts/selection-revision-store.mjs +115 -0
- package/skills/abelien-hardware/scripts/selection-structure.mjs +50 -0
- package/skills/abelien-hardware/scripts/taxonomy.mjs +25 -0
- package/skills/abelien-hardware/scripts/validate-replace-plan.mjs +5 -1
- package/skills/abelien-hardware/scripts/validate-slots.mjs +2 -1
- package/skills/abelien-hardware/scripts/volc-web-search.mjs +7 -4
- package/skills/abelien-hardware/scripts/web-common.mjs +4 -1
- package/skills/abelien-hardware/scripts/web-integrity.mjs +1 -1
- package/skills/abelien-hardware/scripts/web-provider-chain.mjs +15 -11
- package/skills/abelien-hardware/scripts/web-receipt.mjs +4 -0
- package/skills/abelien-hardware/workflows/definitions/0b95321a6768f916b97b53957f0c5ad3aef7e3d484542bcda4c7ab370ee25a0f.json +272 -0
- package/skills/abelien-hardware/workflows/definitions/0e1c309516e5117f3ebb764503bc84dc1771b550b0f01eea994181fbd7a865e3.json +302 -0
- package/skills/abelien-hardware/workflows/definitions/2444df49b516b42b6ff39036e7de94682d8a09af1154bab56b76f171c3750cb2.json +142 -0
- package/skills/abelien-hardware/workflows/definitions/2885447bb95dd1ae3a6ab11f5b549b51a797b56b083eb49ce1f7b3720ba2f0a8.json +304 -0
- package/skills/abelien-hardware/workflows/definitions/30fa7666f1e5550f8a2c463950545b3ac47c4aa6c012270aacbfbb2bca0888a9.json +144 -0
- package/skills/abelien-hardware/workflows/definitions/4d5012942f59fac4e98d8bec3f814b39864bc6654730e886bd3b32a4be293f64.json +348 -0
- package/skills/abelien-hardware/workflows/definitions/5770b5963e9f8a5185d4b9bc81011c950dee9349a666c4ef3127c6c3d486789a.json +224 -0
- package/skills/abelien-hardware/workflows/definitions/6f48911aa3f189eb7c3e2b239d4561a083d5ea88899205dc7f51c75a53f496d8.json +348 -0
- package/skills/abelien-hardware/workflows/definitions/801c406feff066849957231cab01f2bab4480a55ab6a44a0ada3224c4c696af8.json +230 -0
- package/skills/abelien-hardware/workflows/definitions/d391610e118c1d8603a63736d99d6025acbb6ef764395f52b148744c212a775d.json +228 -0
- package/skills/abelien-hardware/workflows/definitions/da4fa194d2a9f6349b563aeb4fba38e4f45f662e707c38e7eb2f8d5fcfc76e91.json +270 -0
- package/skills/abelien-hardware/workflows/definitions/f9cffb277c9bb2a148de9a6fd91ade3a8cd4b7af7df65023ad7ca64b0280b872.json +346 -0
- package/skills/abelien-hardware/workflows/user-journey-hardware-candidates.json +74 -0
- package/skills/abelien-hardware/workflows/user-journey-hardware-carry.json +58 -5
- package/skills/abelien-hardware/workflows/user-journey-hardware-replace.json +136 -6
- package/skills/abelien-hardware/workflows/user-journey-hardware.json +133 -5
- package/skills/abelien-harness/SKILL.md +12 -9
- package/skills/abelien-harness/contract/action-registry.md +103 -0
- package/skills/abelien-harness/contract/source-registry.md +4 -3
- package/skills/abelien-harness/contract/workflow-spec.md +19 -0
- package/skills/abelien-harness/contracts/README.md +112 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-design-example-without-result-checks.json +24 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-postcondition-without-entry.json +31 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-transport-in-definition.json +32 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/invalid-unknown-effect.json +33 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/valid-async-web-search.json +45 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/valid-implementation-dependent-build.json +32 -0
- package/skills/abelien-harness/contracts/examples/ActionDefinition/valid-local-change-scope.json +31 -0
- package/skills/abelien-harness/contracts/examples/ActionError/invalid-missing-submission-state.json +8 -0
- package/skills/abelien-harness/contracts/examples/ActionError/invalid-transient-after-submit.json +10 -0
- package/skills/abelien-harness/contracts/examples/ActionError/invalid-unknown-retried.json +9 -0
- package/skills/abelien-harness/contracts/examples/ActionError/valid-config-blocked.json +9 -0
- package/skills/abelien-harness/contracts/examples/ActionError/valid-design-conflict.json +24 -0
- package/skills/abelien-harness/contracts/examples/ActionError/valid-unknown-reconcile.json +9 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-fallback-with-guessed-points.json +47 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-missing-image-ref.json +94 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-mm-without-scale.json +104 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/invalid-ready-without-frame.json +100 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/valid-degraded-fallback.json +27 -0
- package/skills/abelien-harness/contracts/examples/AppearancePoints/valid-ready.json +104 -0
- package/skills/abelien-harness/contracts/examples/ArtifactApplicability/invalid-current-with-reasons.json +30 -0
- package/skills/abelien-harness/contracts/examples/ArtifactApplicability/invalid-stale-without-reasons.json +15 -0
- package/skills/abelien-harness/contracts/examples/ArtifactApplicability/valid-current.json +15 -0
- package/skills/abelien-harness/contracts/examples/ArtifactApplicability/valid-stale-after-redraw.json +30 -0
- package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/invalid-degraded-without-unknowns.json +17 -0
- package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/invalid-design-example-string-inputs.json +19 -0
- package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/invalid-fallback-on-ready.json +27 -0
- package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/valid-degraded-fallback.json +27 -0
- package/skills/abelien-harness/contracts/examples/ArtifactEnvelope/valid-ready-evidence.json +17 -0
- package/skills/abelien-harness/contracts/examples/ArtifactNeed/invalid-accept-failed.json +6 -0
- package/skills/abelien-harness/contracts/examples/ArtifactNeed/invalid-empty-quality.json +4 -0
- package/skills/abelien-harness/contracts/examples/ArtifactNeed/valid-points-accept-degraded.json +7 -0
- package/skills/abelien-harness/contracts/examples/ArtifactNeed/valid-selection-ready-only.json +6 -0
- package/skills/abelien-harness/contracts/examples/ArtifactRecord/invalid-no-provenance.json +38 -0
- package/skills/abelien-harness/contracts/examples/ArtifactRecord/valid-degraded-points.json +44 -0
- package/skills/abelien-harness/contracts/examples/BomLine/invalid-placeholder-posing-as-purchased.json +24 -0
- package/skills/abelien-harness/contracts/examples/BomLine/invalid-placeholder-without-open-issues.json +20 -0
- package/skills/abelien-harness/contracts/examples/BomLine/invalid-purchased-without-identity-status.json +23 -0
- package/skills/abelien-harness/contracts/examples/BomLine/valid-designed-substitute.json +24 -0
- package/skills/abelien-harness/contracts/examples/BomLine/valid-placeholder.json +23 -0
- package/skills/abelien-harness/contracts/examples/BomLine/valid-purchased-exact.json +24 -0
- package/skills/abelien-harness/contracts/examples/BomLine/valid-purchased-series-only.json +24 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationAnswer/invalid-client-operation-id.json +17 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationAnswer/valid-accept.json +17 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationIdentity/invalid-missing-version.json +8 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationIdentity/invalid-zero-semantics-version.json +9 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationIdentity/valid-selection-card.json +9 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationRequest/invalid-no-options.json +20 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationRequest/invalid-ui-copy-in-option.json +25 -0
- package/skills/abelien-harness/contracts/examples/ConfirmationRequest/valid-hardware-card.json +27 -0
- package/skills/abelien-harness/contracts/examples/DispatchClaim/invalid-claim-without-fence.json +44 -0
- package/skills/abelien-harness/contracts/examples/DispatchClaim/valid-claim.json +45 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionCommit/invalid-missing-expected-parent.json +18 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionCommit/invalid-schema-name.json +23 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionCommit/valid-from-parent.json +23 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionCommit/valid-new-lineage.json +14 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionHead/invalid-sequence-zero.json +13 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionHead/valid-head.json +13 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionRecord/invalid-content-not-object.json +17 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionRecord/invalid-first-with-parent.json +24 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionRecord/invalid-later-without-parent.json +24 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionRecord/valid-first-revision.json +20 -0
- package/skills/abelien-harness/contracts/examples/DomainRevisionRecord/valid-second-revision.json +28 -0
- package/skills/abelien-harness/contracts/examples/EffectiveAction/invalid-bound-unresolved-determinism.json +78 -0
- package/skills/abelien-harness/contracts/examples/EffectiveAction/invalid-unbound-with-binding-digest.json +69 -0
- package/skills/abelien-harness/contracts/examples/EffectiveAction/valid-bound-module.json +70 -0
- package/skills/abelien-harness/contracts/examples/EffectiveAction/valid-bound-studio-tool.json +78 -0
- package/skills/abelien-harness/contracts/examples/EffectiveAction/valid-unbound.json +69 -0
- package/skills/abelien-harness/contracts/examples/EventCursor/invalid-negative.json +4 -0
- package/skills/abelien-harness/contracts/examples/EventCursor/valid-fresh-tree.json +4 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/invalid-legacy-state-name.json +14 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/invalid-step-event-without-step.json +26 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/invalid-zero-sequence.json +17 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/valid-late-receipt-history.json +18 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/valid-operation-accepted.json +17 -0
- package/skills/abelien-harness/contracts/examples/EventEnvelope/valid-step-waiting-on-card.json +27 -0
- package/skills/abelien-harness/contracts/examples/ExecutionClaim/invalid-zero-fence.json +7 -0
- package/skills/abelien-harness/contracts/examples/ExecutionClaim/valid-after-takeover.json +7 -0
- package/skills/abelien-harness/contracts/examples/ExecutionIdentity/invalid-fence-in-identity.json +19 -0
- package/skills/abelien-harness/contracts/examples/ExecutionIdentity/invalid-missing-target-revision.json +13 -0
- package/skills/abelien-harness/contracts/examples/ExecutionIdentity/valid-rework.json +20 -0
- package/skills/abelien-harness/contracts/examples/ExecutionIdentity/valid-web-search.json +18 -0
- package/skills/abelien-harness/contracts/examples/ExecutionManifest/invalid-alias-claimed-frozen.json +77 -0
- package/skills/abelien-harness/contracts/examples/ExecutionManifest/invalid-runtime-version-alias.json +77 -0
- package/skills/abelien-harness/contracts/examples/ExecutionManifest/valid-legacy-mapping.json +59 -0
- package/skills/abelien-harness/contracts/examples/ExecutionManifest/valid-runtime-run.json +77 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-credential-in-entry.json +23 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-module-without-export.json +19 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-studio-tool-with-path.json +24 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/invalid-unresolved-determinism.json +23 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/valid-http.json +23 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/valid-module.json +20 -0
- package/skills/abelien-harness/contracts/examples/ImplementationBinding/valid-studio-tool.json +23 -0
- package/skills/abelien-harness/contracts/examples/InputDigestSubject/invalid-shorthand-input-ref.json +22 -0
- package/skills/abelien-harness/contracts/examples/InputDigestSubject/invalid-transport-field.json +32 -0
- package/skills/abelien-harness/contracts/examples/InputDigestSubject/valid-web-search.json +31 -0
- package/skills/abelien-harness/contracts/examples/OperationRecord/invalid-prepared-but-submitted.json +36 -0
- package/skills/abelien-harness/contracts/examples/OperationRecord/invalid-unknown-not-submitted.json +36 -0
- package/skills/abelien-harness/contracts/examples/OperationRecord/valid-accepted.json +36 -0
- package/skills/abelien-harness/contracts/examples/OperationRecord/valid-prepared.json +36 -0
- package/skills/abelien-harness/contracts/examples/OperationRecord/valid-unknown.json +44 -0
- package/skills/abelien-harness/contracts/examples/PortError/invalid-unknown-code.json +4 -0
- package/skills/abelien-harness/contracts/examples/PortError/valid-fence-stale.json +9 -0
- package/skills/abelien-harness/contracts/examples/Receipt/invalid-failed-without-error.json +15 -0
- package/skills/abelien-harness/contracts/examples/Receipt/invalid-missing-implementation-identity.json +19 -0
- package/skills/abelien-harness/contracts/examples/Receipt/invalid-succeeded-with-error.json +44 -0
- package/skills/abelien-harness/contracts/examples/Receipt/valid-failed.json +39 -0
- package/skills/abelien-harness/contracts/examples/Receipt/valid-succeeded.json +20 -0
- package/skills/abelien-harness/contracts/examples/Ref/invalid-digest-with-prefix.json +5 -0
- package/skills/abelien-harness/contracts/examples/Ref/invalid-shorthand-string.json +1 -0
- package/skills/abelien-harness/contracts/examples/Ref/valid-concept-image.json +5 -0
- package/skills/abelien-harness/contracts/examples/ResourceRecord/invalid-digest-without-prefix.json +19 -0
- package/skills/abelien-harness/contracts/examples/ResourceRecord/invalid-renamed-meta.json +13 -0
- package/skills/abelien-harness/contracts/examples/ResourceRecord/valid-existing-store-shape.json +19 -0
- package/skills/abelien-harness/contracts/examples/RunRecord/invalid-child-without-parent-step.json +27 -0
- package/skills/abelien-harness/contracts/examples/RunRecord/invalid-runtime-without-manifest.json +21 -0
- package/skills/abelien-harness/contracts/examples/RunRecord/valid-legacy-child.json +27 -0
- package/skills/abelien-harness/contracts/examples/RunRecord/valid-root.json +21 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-child-run-on-model-step.json +270 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-legacy-state-name.json +153 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-legacy-without-registration.json +266 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/invalid-waiting-without-reason.json +268 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/valid-cancelled-late-result-rework.json +139 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/valid-legacy-hardware-subflow.json +272 -0
- package/skills/abelien-harness/contracts/examples/RunSnapshot/valid-parallel-join-degraded.json +153 -0
- package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/invalid-missing-fit-envelope.json +27 -0
- package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/invalid-uppercase-id.json +43 -0
- package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/invalid-view-transform-fields.json +44 -0
- package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/valid-speaker-1.json +43 -0
- package/skills/abelien-harness/contracts/examples/SkeletonOccurrence/valid-speaker-2.json +43 -0
- package/skills/abelien-harness/contracts/examples/Slot/invalid-box-with-diameter.json +29 -0
- package/skills/abelien-harness/contracts/examples/Slot/invalid-missing-reaction-ids.json +11 -0
- package/skills/abelien-harness/contracts/examples/Slot/invalid-two-level-path.json +11 -0
- package/skills/abelien-harness/contracts/examples/Slot/invalid-zero-quantity.json +12 -0
- package/skills/abelien-harness/contracts/examples/Slot/valid-shared-power.json +12 -0
- package/skills/abelien-harness/contracts/examples/Slot/valid-speaker-with-zone.json +33 -0
- package/skills/abelien-harness/contracts/examples/StepExecutionRecord/invalid-child-run-on-cli.json +23 -0
- package/skills/abelien-harness/contracts/examples/StepExecutionRecord/invalid-waiting-without-reason.json +19 -0
- package/skills/abelien-harness/contracts/examples/StepExecutionRecord/valid-subflow.json +31 -0
- package/skills/abelien-harness/contracts/examples/StepExecutionRecord/valid-waiting-external.json +23 -0
- package/skills/abelien-harness/contracts/examples/TargetRevisionRef/invalid-extra-parent.json +6 -0
- package/skills/abelien-harness/contracts/examples/TargetRevisionRef/valid-revision-4.json +5 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/invalid-configuration-with-source-error.json +12 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/invalid-confirmation-without-subject.json +4 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/valid-budget.json +6 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/valid-configuration.json +12 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/valid-confirmation.json +13 -0
- package/skills/abelien-harness/contracts/examples/WaitReason/valid-data-dependency.json +18 -0
- package/skills/abelien-harness/contracts/examples/expectations.json +318 -0
- package/skills/abelien-harness/contracts/index.d.mts +32 -0
- package/skills/abelien-harness/contracts/index.mjs +47 -0
- package/skills/abelien-harness/contracts/ports/memory.d.mts +12 -0
- package/skills/abelien-harness/contracts/ports/memory.mjs +403 -0
- package/skills/abelien-harness/contracts/ports/ports.d.ts +137 -0
- package/skills/abelien-harness/contracts/schemas/action.v1.json +330 -0
- package/skills/abelien-harness/contracts/schemas/artifact.v1.json +102 -0
- package/skills/abelien-harness/contracts/schemas/confirmation.v1.json +64 -0
- package/skills/abelien-harness/contracts/schemas/cross-domain.v1.json +241 -0
- package/skills/abelien-harness/contracts/schemas/domain-revision.v1.json +68 -0
- package/skills/abelien-harness/contracts/schemas/error.v1.json +70 -0
- package/skills/abelien-harness/contracts/schemas/event.v1.json +204 -0
- package/skills/abelien-harness/contracts/schemas/execution-identity.v1.json +72 -0
- package/skills/abelien-harness/contracts/schemas/ref.v1.json +43 -0
- package/skills/abelien-harness/contracts/schemas/run-snapshot.v1.json +176 -0
- package/skills/abelien-harness/contracts/schemas/store.v1.json +209 -0
- package/skills/abelien-harness/contracts/types.d.ts +660 -0
- package/skills/abelien-harness/contracts/validate.mjs +182 -0
- package/skills/abelien-harness/runtime/README.md +171 -0
- package/skills/abelien-harness/runtime/actions.mjs +88 -0
- package/skills/abelien-harness/runtime/conformance/README.md +34 -0
- package/skills/abelien-harness/runtime/conformance/artifact-store.mjs +167 -0
- package/skills/abelien-harness/runtime/conformance/domain-revision-store.mjs +121 -0
- package/skills/abelien-harness/runtime/conformance/execution-store.mjs +346 -0
- package/skills/abelien-harness/runtime/conformance/fixtures.mjs +56 -0
- package/skills/abelien-harness/runtime/conformance/index.mjs +74 -0
- package/skills/abelien-harness/runtime/engine.mjs +1358 -0
- package/skills/abelien-harness/runtime/errors.mjs +80 -0
- package/skills/abelien-harness/runtime/executors.mjs +123 -0
- package/skills/abelien-harness/runtime/flow-graph.mjs +246 -0
- package/skills/abelien-harness/runtime/graph.mjs +534 -0
- package/skills/abelien-harness/runtime/ids.mjs +25 -0
- package/skills/abelien-harness/runtime/index.mjs +25 -0
- package/skills/abelien-harness/runtime/kernel.mjs +65 -0
- package/skills/abelien-harness/runtime/legacy/definitions.mjs +115 -0
- package/skills/abelien-harness/runtime/legacy/external-recovery.mjs +48 -0
- package/skills/abelien-harness/runtime/legacy/workflow-store.mjs +183 -0
- package/skills/abelien-harness/runtime/model-actions.md +57 -0
- package/skills/abelien-harness/runtime/model-actions.mjs +52 -0
- package/skills/abelien-harness/runtime/ports/file/artifact-store.mjs +103 -0
- package/skills/abelien-harness/runtime/ports/file/common.mjs +100 -0
- package/skills/abelien-harness/runtime/ports/file/execution-store.mjs +248 -0
- package/skills/abelien-harness/runtime/ports/file/index.mjs +23 -0
- package/skills/abelien-harness/runtime/ports/file/resource-store.mjs +51 -0
- package/skills/abelien-harness/runtime/snapshot.mjs +96 -0
- package/skills/abelien-harness/runtime/task-view/README.md +54 -0
- package/skills/abelien-harness/runtime/task-view/index.mjs +344 -0
- package/skills/abelien-harness/runtime/testing/index.mjs +123 -0
- package/skills/abelien-harness/runtime/testing/scenarios.mjs +343 -0
- package/skills/abelien-harness/runtime/workflow/flows.mjs +68 -0
- package/skills/abelien-harness/runtime/workflow/httl.mjs +77 -0
- package/skills/abelien-harness/runtime/workflow/index.mjs +190 -0
- package/skills/abelien-harness/runtime/workflow/legacy-flow.mjs +183 -0
- package/skills/abelien-harness/runtime/workflow/view.mjs +66 -0
- package/skills/abelien-harness/scripts/ab.mjs +50 -608
- package/skills/abelien-harness/scripts/action-cli.mjs +54 -0
- package/skills/abelien-harness/scripts/action-docs.mjs +308 -0
- package/skills/abelien-harness/scripts/action-registry.mjs +433 -0
- package/skills/abelien-harness/scripts/machine-state.mjs +21 -0
- package/skills/abelien-harness/scripts/source-registry.mjs +4 -3
- package/skills/abelien-harness/scripts/store.mjs +212 -0
- package/skills/abelien-harness/scripts/studio.mjs +14 -4
- package/skills/abelien-harness/scripts/template.mjs +22 -0
- package/skills/abelien-harness/scripts/web/common.mjs +2 -2
- package/skills/abelien-harness/scripts/web/deepseek.mjs +50 -0
- package/skills/abelien-harness/scripts/web/search.mjs +37 -0
- package/skills/abelien-harness/scripts/web/source-registry.mjs +2 -0
- package/skills/abelien-reference/SKILL.md +6 -6
- package/skills/abelien-reference/actions/reference.finalize.json +48 -0
- package/skills/abelien-reference/actions/reference.page.json +28 -0
- package/skills/abelien-reference/actions/reference.research.json +68 -0
- package/skills/abelien-reference/bindings.json +78 -0
- package/skills/abelien-reference/contract/catalog-reference.md +51 -0
- package/skills/abelien-reference/contract/host-responsibilities.md +4 -2
- package/skills/abelien-reference/contract/host-tools.generated.json +2632 -0
- package/skills/abelien-reference/domain.json +10 -3
- package/skills/abelien-reference/fixtures/catalog/speaker.json +390 -0
- package/skills/abelien-reference/fixtures/create.final.json +1 -0
- package/skills/abelien-reference/fixtures/restore.collected.json +1 -0
- package/skills/abelien-reference/fixtures/restore.final.json +1 -0
- package/skills/abelien-reference/references/actions/reference.finalize.generated.md +173 -0
- package/skills/abelien-reference/references/actions/reference.page.generated.md +40 -0
- package/skills/abelien-reference/references/actions/reference.research.generated.md +196 -0
- package/skills/abelien-reference/references/actions.generated.md +10 -0
- package/skills/abelien-reference/references/research-contract.md +10 -38
- package/skills/abelien-reference/schemas/catalog-reference.v1.json +306 -0
- package/skills/abelien-reference/schemas/finalize-input.v1.json +16 -0
- package/skills/abelien-reference/schemas/host-tools.v1.json +31 -0
- package/skills/abelien-reference/schemas/reference-evidence.v1.json +8 -5
- package/skills/abelien-reference/schemas/research-input.v1.json +149 -0
- package/skills/abelien-reference/scripts/catalog-reference.mjs +248 -0
- package/skills/abelien-reference/scripts/evidence.mjs +21 -10
- package/skills/abelien-reference/scripts/research.mjs +57 -25
- package/skills/abelien-structure/SKILL.md +49 -35
- package/skills/abelien-structure/actions/cad.assets.json +24 -0
- package/skills/abelien-structure/actions/cad.build.json +29 -0
- package/skills/abelien-structure/actions/cad.fallback.json +29 -0
- package/skills/abelien-structure/actions/cad.precheck.json +31 -0
- package/skills/abelien-structure/actions/structure.assets-request.json +36 -0
- package/skills/abelien-structure/actions/structure.cad-assemble.json +56 -0
- package/skills/abelien-structure/actions/structure.cad-check.json +51 -0
- package/skills/abelien-structure/actions/structure.layout-check.json +36 -0
- package/skills/abelien-structure/actions/structure.layout-request.json +36 -0
- package/skills/abelien-structure/actions/structure.prelude.json +41 -0
- package/skills/abelien-structure/actions/structure.swap-candidates.json +31 -0
- package/skills/abelien-structure/bindings.json +181 -0
- package/skills/abelien-structure/contract/host-tools.generated.json +28972 -0
- package/skills/abelien-structure/domain.json +205 -0
- package/skills/abelien-structure/flows/user-journey-cad.json +336 -0
- package/skills/abelien-structure/references/actions/cad.assets.generated.md +81 -0
- package/skills/abelien-structure/references/actions/cad.build.generated.md +37 -0
- package/skills/abelien-structure/references/actions/cad.fallback.generated.md +426 -0
- package/skills/abelien-structure/references/actions/cad.precheck.generated.md +46 -0
- package/skills/abelien-structure/references/actions/structure.assets-request.generated.md +511 -0
- package/skills/abelien-structure/references/actions/structure.cad-assemble.generated.md +315 -0
- package/skills/abelien-structure/references/actions/structure.cad-check.generated.md +329 -0
- package/skills/abelien-structure/references/actions/structure.layout-check.generated.md +414 -0
- package/skills/abelien-structure/references/actions/structure.layout-request.generated.md +364 -0
- package/skills/abelien-structure/references/actions/structure.prelude.generated.md +569 -0
- package/skills/abelien-structure/references/actions/structure.swap-candidates.generated.md +160 -0
- package/skills/abelien-structure/references/actions.generated.md +18 -0
- package/skills/abelien-structure/references/cad-functions.generated.md +540 -0
- package/skills/abelien-structure/references/cad-modules.md +68 -0
- package/skills/abelien-structure/references/handoff.md +8 -13
- package/skills/abelien-structure/references/skeleton.md +83 -0
- package/skills/abelien-structure/references/structure-reasonableness.md +5 -5
- package/skills/abelien-structure/schemas/asset-request.v1.json +61 -0
- package/skills/abelien-structure/schemas/cad-assemble-input.v1.json +20 -0
- package/skills/abelien-structure/schemas/cad-build.v1.json +422 -0
- package/skills/abelien-structure/schemas/cad-candidate.v1.json +50 -0
- package/skills/abelien-structure/schemas/cad-check-input.v1.json +24 -0
- package/skills/abelien-structure/schemas/cad-fallback-input.v1.json +39 -0
- package/skills/abelien-structure/schemas/cad-flow-input.v1.json +141 -0
- package/skills/abelien-structure/schemas/cad-modules.v1.json +163 -0
- package/skills/abelien-structure/schemas/cad-result.v1.json +231 -0
- package/skills/abelien-structure/schemas/cad-source.v1.json +157 -0
- package/skills/abelien-structure/schemas/component-assets.v1.json +44 -0
- package/skills/abelien-structure/schemas/layout-check-input.v1.json +13 -0
- package/skills/abelien-structure/schemas/layout-check-result.v1.json +57 -0
- package/skills/abelien-structure/schemas/layout-proposal.v1.json +72 -0
- package/skills/abelien-structure/schemas/layout-request-input.v1.json +96 -0
- package/skills/abelien-structure/schemas/layout-request.v1.json +108 -0
- package/skills/abelien-structure/schemas/prelude-input.v1.json +20 -0
- package/skills/abelien-structure/schemas/prelude.v1.json +459 -0
- package/skills/abelien-structure/schemas/skeleton.v1.json +318 -0
- package/skills/abelien-structure/schemas/swap-candidates-input.v1.json +50 -0
- package/skills/abelien-structure/schemas/swap-candidates-result.v1.json +46 -0
- package/skills/abelien-structure/scripts/cad.mjs +802 -0
- package/skills/abelien-structure/scripts/geometry.mjs +192 -0
- package/skills/abelien-structure/scripts/layout.mjs +657 -0
- package/skills/abelien-structure/scripts/schemas.mjs +34 -0
- package/skills/abelien-structure/scripts/swap.mjs +79 -0
- package/skills/abelien-structure-worker/SKILL.md +38 -8
- package/skills/abelien-structure-worker/domain.json +15 -1
- package/skills/abelien-structure-worker/worker/abelien_cad.py +50 -4
- package/skills/abelien-structure-worker/worker/assembly-validation.mjs +3 -2
- package/skills/abelien-structure-worker/worker/asset_probe.py +119 -0
- package/skills/abelien-structure-worker/worker/cad.py +81 -5
- package/skills/abelien-structure-worker/worker/cli-adapter.mjs +20 -1
- package/skills/abelien-structure-worker/worker/jobs.mjs +92 -35
- package/skills/abelien-structure-worker/worker/main.mjs +24 -3
- package/skills/abelien-structure-worker/worker/native.mjs +3 -2
- package/skills/abelien-structure-worker/worker/representation.mjs +2 -1
- package/skills/abelien-structure-worker/worker/source-contract.mjs +4 -3
- package/skills/abelien-workspace/SKILL.md +16 -10
- package/skills/abelien-workspace/actions/component.search.json +27 -0
- package/skills/abelien-workspace/actions/image.generate.json +29 -0
- package/skills/abelien-workspace/actions/image.import.json +30 -0
- package/skills/abelien-workspace/actions/question.card.json +26 -0
- package/skills/abelien-workspace/actions/studio.prepare.json +28 -0
- package/skills/abelien-workspace/actions/visual.review.json +31 -0
- package/skills/abelien-workspace/actions/workspace.hardware-reselect-input.json +15 -0
- package/skills/abelien-workspace/actions/workspace.intake-complete.json +31 -0
- package/skills/abelien-workspace/actions/workspace.intake-route.json +31 -0
- package/skills/abelien-workspace/actions/workspace.intake-wait.json +31 -0
- package/skills/abelien-workspace/actions/workspace.journey-next.json +30 -0
- package/skills/abelien-workspace/actions/workspace.lanes-next.json +30 -0
- package/skills/abelien-workspace/assets/creation-start-flow.json +316 -0
- package/skills/abelien-workspace/assets/hardware-reselect-flow.json +23 -0
- package/skills/abelien-workspace/assets/journey-stage-plan.json +1107 -79
- package/skills/abelien-workspace/assets/lane-plan.json +52 -5
- package/skills/abelien-workspace/bindings.json +216 -0
- package/skills/abelien-workspace/contract/host-tools.generated.json +9242 -0
- package/skills/abelien-workspace/domain.json +79 -3
- package/skills/abelien-workspace/flows/creation.create.json +1349 -0
- package/skills/abelien-workspace/flows/creation.modify.json +1353 -0
- package/skills/abelien-workspace/flows/creation.remix.json +506 -0
- package/skills/abelien-workspace/flows/creation.restore.json +1249 -0
- package/skills/abelien-workspace/references/actions/component.search.generated.md +35 -0
- package/skills/abelien-workspace/references/actions/image.generate.generated.md +31 -0
- package/skills/abelien-workspace/references/actions/image.import.generated.md +31 -0
- package/skills/abelien-workspace/references/actions/question.card.generated.md +39 -0
- package/skills/abelien-workspace/references/actions/studio.prepare.generated.md +37 -0
- package/skills/abelien-workspace/references/actions/visual.review.generated.md +41 -0
- package/skills/abelien-workspace/references/actions/workspace.hardware-reselect-input.generated.md +489 -0
- package/skills/abelien-workspace/references/actions/workspace.intake-complete.generated.md +187 -0
- package/skills/abelien-workspace/references/actions/workspace.intake-route.generated.md +184 -0
- package/skills/abelien-workspace/references/actions/workspace.intake-wait.generated.md +175 -0
- package/skills/abelien-workspace/references/actions/workspace.journey-next.generated.md +89 -0
- package/skills/abelien-workspace/references/actions/workspace.lanes-next.generated.md +59 -0
- package/skills/abelien-workspace/references/actions.generated.md +19 -0
- package/skills/abelien-workspace/references/creation-intake.md +44 -0
- package/skills/abelien-workspace/references/delivery-policy.md +27 -0
- package/skills/abelien-workspace/references/harness-binding.md +10 -15
- package/skills/abelien-workspace/references/journey-stage-plan.md +121 -43
- package/skills/abelien-workspace/references/product-flow.md +86 -0
- package/skills/abelien-workspace/references/studio-visual-contract.md +11 -0
- package/skills/abelien-workspace/references/user-journey.md +8 -8
- package/skills/abelien-workspace/schemas/appearance-points-reply.v1.json +27 -0
- package/skills/abelien-workspace/schemas/creation-intake.v1.json +566 -0
- package/skills/abelien-workspace/schemas/delivery-policy.v1.json +815 -0
- package/skills/abelien-workspace/schemas/hardware-reselect-input.v1.json +21 -0
- package/skills/abelien-workspace/schemas/hardware-reselect-result.v1.json +15 -0
- package/skills/abelien-workspace/schemas/hardware-result-reply.v1.json +67 -0
- package/skills/abelien-workspace/schemas/host-success-reply.v1.json +18 -0
- package/skills/abelien-workspace/schemas/host-tools.v1.json +152 -0
- package/skills/abelien-workspace/schemas/journey-next-input.v1.json +52 -0
- package/skills/abelien-workspace/schemas/journey-next-result.v1.json +92 -0
- package/skills/abelien-workspace/schemas/lanes-next-input.v1.json +49 -0
- package/skills/abelien-workspace/schemas/lanes-next-result.v1.json +54 -0
- package/skills/abelien-workspace/schemas/plan-common.v1.json +68 -0
- package/skills/abelien-workspace/schemas/reference-final-reply.v1.json +18 -0
- package/skills/abelien-workspace/schemas/skeleton-reply.v1.json +104 -0
- package/skills/abelien-workspace/schemas/studio-visual-spec.v1.json +454 -0
- package/skills/abelien-workspace/scripts/creation-intake.mjs +87 -0
- package/skills/abelien-workspace/scripts/creation-tasks.mjs +323 -0
- package/skills/abelien-workspace/scripts/delivery-policy.mjs +176 -0
- package/skills/abelien-workspace/scripts/flow-compile.mjs +291 -0
- package/skills/abelien-workspace/scripts/journey-next.mjs +42 -41
- package/skills/abelien-workspace/scripts/lanes-next.mjs +8 -10
- package/skills/abelien-workspace/scripts/plans.mjs +76 -0
- package/skills/abelien-workspace-host/SKILL.md +25 -0
- package/skills/abelien-workspace-host/actions/workspace.admission.json +30 -0
- package/skills/abelien-workspace-host/actions/workspace.delivery-claims.json +30 -0
- package/skills/abelien-workspace-host/bindings.json +32 -0
- package/skills/abelien-workspace-host/contract/host-tools.generated.json +3630 -0
- package/skills/abelien-workspace-host/domain.json +42 -0
- package/skills/abelien-workspace-host/references/actions/workspace.admission.generated.md +217 -0
- package/skills/abelien-workspace-host/references/actions/workspace.delivery-claims.generated.md +145 -0
- package/skills/abelien-workspace-host/references/actions.generated.md +9 -0
- package/skills/abelien-workspace-host/schemas/delivery-policy.v1.json +18 -0
- package/skills/abelien-workspace-host/scripts/delivery-policy.mjs +2 -0
- package/skills/abelien-structure/contract/run-stage-internals.md +0 -5
- package/skills/abelien-structure/references/build123d-execution.md +0 -71
- package/skills/abelien-structure/references/bundle-quality.md +0 -28
- package/skills/abelien-structure/scripts/check_bundle.py +0 -197
- package/skills/abelien-structure/scripts/run_stage.py +0 -265
- /package/skills/{abelien-structure → abelien-appearance}/scripts/check_visual_review.py +0 -0
package/.env.example
CHANGED
|
@@ -61,7 +61,12 @@ ABELIEN_HARDWARE_SELECT_TOKEN=
|
|
|
61
61
|
ABELIEN_HARDWARE_WEB_PRISMER=disabled
|
|
62
62
|
# Volc subscription/pay-as-you-go search Keys are distinct from Ark generation Keys.
|
|
63
63
|
PRISMER_API_KEY=
|
|
64
|
+
# Web search provider for hardware, reference and algorithm research: volc (default when empty) or deepseek.
|
|
65
|
+
# Independent of the model provider; each hardware evidence pins the provider it first used.
|
|
66
|
+
WEB_SEARCH_PROVIDER=
|
|
64
67
|
WEB_SEARCH_API_KEY=
|
|
68
|
+
# DeepSeek Open Platform search Key (POST https://api.deepseek.com/v1/tools/search); never falls back to WEB_SEARCH_API_KEY.
|
|
69
|
+
WEB_SEARCH_DEEPSEEK_API_KEY=
|
|
65
70
|
ABELIEN_HARDWARE_WEB_SEARCH_TIMEOUT_MS=30000
|
|
66
71
|
ABELIEN_HARDWARE_WEB_PAGE_TIMEOUT_MS=30000
|
|
67
72
|
# Host budget and loop abort independently bound Parse; unknown POSTs cannot retry.
|
package/README.md
CHANGED
|
@@ -8,13 +8,14 @@ npx 可安装的多 agent skill harness:**通用内核 + 可插拔域包**。
|
|
|
8
8
|
定位资源(如外观ID) → 调度能力(如 3D 模型生成/替换) → 组建状态管理 → workflow 编排
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
内核对领域不感知,随包分发
|
|
11
|
+
内核对领域不感知,随包分发 12 个 bundle:9 个 Agent 包装进 Agent 的 skills 目录,3 个宿主包(`kind: host`)只供宿主使用,安装器默认不装。产品层:[abelien-workspace](skills/abelien-workspace/SKILL.md)(旅程、版本与确认)·
|
|
12
12
|
[abelien-guide](skills/abelien-guide/SKILL.md)(对话调度与沟通)· [abelien-clarify](skills/abelien-clarify/SKILL.md)(需求澄清只读快照)。
|
|
13
13
|
领域层:[abelien-hardware](skills/abelien-hardware/SKILL.md)(三级分类、OSS 召回、联网补位、本地选型与修订)·
|
|
14
|
-
[abelien-algorithm](skills/abelien-algorithm/SKILL.md)
|
|
15
|
-
[abelien-appearance](skills/abelien-appearance/SKILL.md) 与 [abelien-structure](skills/abelien-structure/SKILL.md)
|
|
16
|
-
宿主包:[abelien-structure-worker](skills/abelien-structure-worker/SKILL.md)(Structure Worker 与 `structure.*` 宿主专用能力)·
|
|
17
|
-
[abelien-3dgen](skills/abelien-3dgen/SKILL.md)(四家 provider 的 3D 构件生成,经 `ab generate 3d` 与宿主 `mesh.generate`
|
|
14
|
+
[abelien-algorithm](skills/abelien-algorithm/SKILL.md)(从需求拆能力并检索实现,硬件登记后复核绑定)·
|
|
15
|
+
[abelien-appearance](skills/abelien-appearance/SKILL.md) 与 [abelien-structure](skills/abelien-structure/SKILL.md)(外观与机械结构;读图出点位、骨架布局与换件条件的确定性动作)·
|
|
16
|
+
宿主包:[abelien-structure-worker](skills/abelien-structure-worker/SKILL.md)(Structure Worker 与 15 个 `structure.*` 宿主专用能力)·
|
|
17
|
+
[abelien-3dgen](skills/abelien-3dgen/SKILL.md)(四家 provider 的 3D 构件生成,经 `ab generate 3d` 与宿主 `mesh.generate` 使用)·
|
|
18
|
+
[abelien-workspace-host](skills/abelien-workspace-host/SKILL.md)(产品准入与四维交付声明)。
|
|
18
19
|
|
|
19
20
|
## Quickstart
|
|
20
21
|
|
|
@@ -72,6 +73,8 @@ ab generate 3d <providers|submit|status|fetch> …
|
|
|
72
73
|
ab doctor
|
|
73
74
|
```
|
|
74
75
|
|
|
76
|
+
`studio probe` 只登记 `state.probe` bootstrap 凭据的安装消费,不是通用健康检查。主回合凭据会在网络前被拒绝;不要据此判定全部 Studio 工具不可用,也不要自动刷新或重试 probe。具体工具仍由其权限与宿主授权判定。
|
|
77
|
+
|
|
75
78
|
输出契约:stdout 恒为单行 JSON——成功 `{ok:true,data}`(exit 0);
|
|
76
79
|
运行错误 `{ok:false,error:{code,message,details?}}`(exit 1);
|
|
77
80
|
用法错误同结构写 stderr(exit 2)。
|
|
@@ -128,9 +131,9 @@ tool-receipt successor 与已有可信 runtime decision 也可以取得后续 co
|
|
|
128
131
|
现行入口不再维护独立的“主控业务提示词”。宿主指令只交代身份、skills 的用途、读取/调用方式与授权边界;具体对话调度放在 guide,作品旅程与业务规则放在 workspace,领域工作放在对应 skill。它们可以由同一个宿主 Agent 执行,不需要额外的主控 Agent;旧 controller 文档仅作历史参考,不与 skills 流程重复注入。
|
|
129
132
|
|
|
130
133
|
- 对话调度与沟通由 [abelien-guide](skills/abelien-guide/SKILL.md) 负责:组织上下文、调用领域 skill、呈现问题和结果;阶段、版本和确认条件统一读取 workspace。
|
|
131
|
-
- 作品规则由 [abelien-workspace](skills/abelien-workspace/SKILL.md) 维护:完整 A1–C
|
|
134
|
+
- 作品规则由 [abelien-workspace](skills/abelien-workspace/SKILL.md) 维护:完整 A1–C、采用与版本、组合检查、确认和交付恢复。新创作从 `creation.start` 进入,由 runtime 推进;`workspace.journey-next` 只投影阶段与规则。作品状态与产品服务的实际接入边界见 workspace 调用说明。
|
|
132
135
|
- 需求澄清为 [abelien-clarify](skills/abelien-clarify/SKILL.md):把用户原话整理成 requirements、区分用户事实与系统假设、只问阻塞当前操作的问题,附只读校验脚本;共用表达规则随 guide 的 references 分发。两者自 2026-10-11 起以本仓为唯一编辑源,直接在 `skills/abelien-clarify/` 与 `skills/abelien-guide/references/` 修改,见下文「快照来源」。
|
|
133
|
-
- 各 bundle 均为标准 `SKILL.md`(含 name/description
|
|
136
|
+
- 各 bundle 均为标准 `SKILL.md`(含 name/description 与适用的 compatibility;不强制 license 字段或值,
|
|
134
137
|
兼容 claude-code / hermes / pi),agent 按 description 触发词路由;claude-code 与
|
|
135
138
|
codex 的双入口收敛(根 `CLAUDE.md` / `AGENTS.md`)见 [docs/architecture/host-adapters.md](docs/architecture/host-adapters.md)。
|
|
136
139
|
- workflow 驱动循环:`run` → 返回 `awaiting_agent` 时读 `steps[cursor].instruction`,
|
|
@@ -143,11 +146,11 @@ tool-receipt successor 与已有可信 runtime decision 也可以取得后续 co
|
|
|
143
146
|
|
|
144
147
|
## 产品旅程与 PRD
|
|
145
148
|
|
|
146
|
-
完整规则统一维护在 [workspace 用户旅程](skills/abelien-workspace/references/user-journey.md),旅程规则只有两处来源:正文维护 A1–C 判定与产品规则;A1 通过之后到交付首版的阶段顺序、逐阶段规则与允许动作只在[阶段计划](skills/abelien-workspace/assets/journey-stage-plan.json)维护,正文 §5 的一览由 `npm run render:journey-plan`
|
|
149
|
+
完整规则统一维护在 [workspace 用户旅程](skills/abelien-workspace/references/user-journey.md),旅程规则只有两处来源:正文维护 A1–C 判定与产品规则;A1 通过之后到交付首版的阶段顺序、逐阶段规则与允许动作只在[阶段计划](skills/abelien-workspace/assets/journey-stage-plan.json)维护,正文 §5 的一览由 `npm run render:journey-plan` 从它生成、测试比对;它同时写清每个节点真正依赖什么,按意图编译成 runtime 执行的[创作流程图](skills/abelien-workspace/references/product-flow.md)(`npm run render:flows`),`journey-next` 是这张图的阶段投影。新创作从 `creation.start` 提交冻结原话与上下文,由 runtime 推进并行、汇合、确认与降级;宿主读取运行结果并核对真实作品状态,不另按 `journey-next` 编写阶段循环。独立领域 workflow 仍可单独使用,其成功不等于作品完成。具体做法及旧实例处理见 [调用说明](skills/abelien-workspace/references/harness-binding.md)。
|
|
147
150
|
|
|
148
151
|
```bash
|
|
149
|
-
node skills/abelien-harness/scripts/ab.mjs --workdir <作品工作目录> capability run workspace.journey-next --input '{"intent":"create","artifacts":{"reference_final":true}}'
|
|
150
|
-
# →
|
|
152
|
+
node skills/abelien-harness/scripts/ab.mjs --workdir <作品工作目录> capability run workspace.journey-next --input '{"intent":"create","locks":{"shape":false},"artifacts":{"reference_final":true}}'
|
|
153
|
+
# → 阶段投影、goal、directives 与 actions;实际创作按原 runtime 运行推进
|
|
151
154
|
```
|
|
152
155
|
|
|
153
156
|
### PRD 随需求对话维护
|
package/bin/cli.mjs
CHANGED
|
@@ -5,6 +5,7 @@ import { fileURLToPath } from "node:url";
|
|
|
5
5
|
import { install, update, remove, listInstalled } from "../lib/installer.mjs";
|
|
6
6
|
import { TARGET_NAMES } from "../targets/registry.mjs";
|
|
7
7
|
import { consumeStudioReceipt, readStudioReceipt } from "../skills/abelien-harness/scripts/receipt.mjs";
|
|
8
|
+
import { runCatalogReferenceCli } from "../skills/abelien-reference/scripts/catalog-reference.mjs";
|
|
8
9
|
|
|
9
10
|
const packageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
|
10
11
|
const args = process.argv.slice(2);
|
|
@@ -40,7 +41,8 @@ function print(results) {
|
|
|
40
41
|
function usage() {
|
|
41
42
|
console.error(`usage: abelien-harness <install|update|remove|list> [--target ${TARGET_NAMES.join("|")}|all] [--project] [--skills-dir <dir>] [--force] [--include-host]
|
|
42
43
|
abelien-harness receipt consume --file <path> [--workdir <dir>]
|
|
43
|
-
abelien-harness receipt get --wait <waitId> [--digest <sha256>] [--workdir <dir>]
|
|
44
|
+
abelien-harness receipt get --wait <waitId> [--digest <sha256>] [--workdir <dir>]
|
|
45
|
+
abelien-harness catalog <check|seal> --file <record.json|->`);
|
|
44
46
|
process.exit(2);
|
|
45
47
|
}
|
|
46
48
|
|
|
@@ -61,6 +63,14 @@ try {
|
|
|
61
63
|
} else usage();
|
|
62
64
|
break;
|
|
63
65
|
}
|
|
66
|
+
case "catalog": {
|
|
67
|
+
// catalog.reference.v1 的校验/封装,供图鉴发布管线与宿主直接调用;单行 JSON,exit 0/1/2 与脚本直跑一致。
|
|
68
|
+
const { stdout, stderr, exitCode } = runCatalogReferenceCli(args.slice(1));
|
|
69
|
+
if (stdout) process.stdout.write(stdout + "\n");
|
|
70
|
+
if (stderr) process.stderr.write(stderr + "\n");
|
|
71
|
+
process.exitCode = exitCode;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
64
74
|
default: usage();
|
|
65
75
|
}
|
|
66
76
|
} catch (e) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abelien-harness",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.1",
|
|
4
4
|
"description": "npx-installable multi-agent skill harness: generic kernel + pluggable domain packs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -21,6 +21,9 @@
|
|
|
21
21
|
"test": "node --test",
|
|
22
22
|
"eval": "node eval/run.mjs",
|
|
23
23
|
"render:journey-plan": "node tools/render-journey-plan.mjs",
|
|
24
|
+
"render:actions": "node tools/render-actions.mjs",
|
|
25
|
+
"render:cad-functions": "node tools/render-cad-functions.mjs",
|
|
26
|
+
"render:flows": "node tools/render-flows.mjs",
|
|
24
27
|
"prepare": "node scripts/install-hooks.mjs",
|
|
25
28
|
"branch:new": "node scripts/new-branch.mjs",
|
|
26
29
|
"sync": "node scripts/sync.mjs",
|
|
@@ -34,6 +37,5 @@
|
|
|
34
37
|
"verify:hardware-search-index": "node tools/hardware-index/verify-search-index.mjs",
|
|
35
38
|
"smoke:hardware-search": "node tools/hardware-index/smoke-search-index.mjs",
|
|
36
39
|
"prepack": "npm run validate:hardware-selection-snapshot"
|
|
37
|
-
}
|
|
38
|
-
"license": "MIT"
|
|
40
|
+
}
|
|
39
41
|
}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: abelien-3dgen
|
|
3
3
|
description: 宿主包:3D 构件生成的四家 provider(Meshy/Hunyuan/Tripo/Ark)声明式 profile 与 22 款模型目录,供内核 ab generate 3d 引擎与宿主 mesh.generate 使用。不装进 Agent 的 skills 目录;模型侧的网格生成经宿主工具完成。
|
|
4
|
-
license: MIT
|
|
5
4
|
metadata:
|
|
6
5
|
kind: host
|
|
7
6
|
category: host-bundle
|
|
8
|
-
allowed-tools:
|
|
9
|
-
- Bash
|
|
10
|
-
- Read
|
|
7
|
+
allowed-tools: Bash Read
|
|
11
8
|
---
|
|
12
9
|
|
|
13
10
|
# abelien-3dgen — 3D 生成宿主包
|
|
@@ -22,6 +19,14 @@ allowed-tools:
|
|
|
22
19
|
|
|
23
20
|
局部外观编辑由 appearance 主导,默认单图,Tripo 可作固定配置的默认供应商;使用[局部交接](../abelien-appearance/references/local-component-edit.md)。Web 的 mesh.generate@1 必须走[受信宿主 API](references/host-api.md),复用原 F4 身份与预算;模糊提交保持 unknown,不能再次提交。普通纹理单图 tripo-image-v3.1 仍 verified:false;独立无纹理低面数 tripo-image-v3.1-engineering-lowpoly 已经单次真实 API/30 credits 对账及有界工程资格验证,见[资格证据与限制](references/engineering-lowpoly-qualification.md)。该验证只覆盖声明的请求与单样例,2000面只是请求参数,不保证任意网格的拓扑、接口或制造质量。显式 operator qualification 仅走受信 host dependency,不能通过 CLI/env 绕过。
|
|
24
21
|
|
|
22
|
+
## 输入、输出与恢复
|
|
23
|
+
|
|
24
|
+
宿主输入同版来源图及哈希、目标/基线、固定 provider/model 与预算身份;CLI 按模型实际声明接收图片或文字。先检查 `providers` 的模态、视图数量、可用性和 profile,再按本次入口读 [host-api](references/host-api.md) 或下方 CLI 说明。选模型取决于任务所需模态与已验证能力,历史横评不替代当前资格。
|
|
25
|
+
|
|
26
|
+
交回原 request/provider task 身份、实际状态、输入与 profile 摘要,以及验证后的 GLB 路径/哈希/字节数;appearance 审查视觉,structure 决定工程用法,workspace 决定采用。收到 task ID 只说明已提交,下载并核验产物后才能交模型文件。
|
|
27
|
+
|
|
28
|
+
宿主 API 已有任务 ID 时只续查/取产物;已发创建请求但没有可信任务 ID 时保持 unknown 并对账,不换身份重发。下载失败只重取原任务产物。配置、模态或资格错误在发送前修正;CLI 不具备宿主 API 的跨进程发送保护,恢复要求严格的产品调用走 host-api,不能改走 CLI 重提。
|
|
29
|
+
|
|
25
30
|
## 四条命令
|
|
26
31
|
|
|
27
32
|
```bash
|
|
@@ -1,45 +1,53 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: abelien-algorithm
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
compatibility:
|
|
6
|
-
- claude-code
|
|
7
|
-
- hermes
|
|
8
|
-
- pi
|
|
3
|
+
description: 从用户已澄清的功能需求拆出实现能力,形成搜索任务并筛选有来源的固件、库、模型或云服务。用于判断产品 reaction 怎么实现;可与硬件选型并行研究,硬件登记后复核绑定。不用于重新定义需求、硬件选型、代码实现或服务部署。
|
|
4
|
+
compatibility: 适用于 claude-code、hermes、pi 宿主
|
|
9
5
|
metadata:
|
|
10
6
|
category: algorithm-domain
|
|
11
7
|
---
|
|
12
8
|
|
|
13
9
|
# Abelien Algorithm
|
|
14
10
|
|
|
15
|
-
|
|
11
|
+
## 何时使用
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
2. **绑定(硬件登记后)**:读取已登记的 `hardware-selection`(id 与 revision),补查已选型号的厂商资料,每个 reaction 绑定到具体 `component_id` 并复核兼容。硬件尚未 verified 也可以绑定,结果保持待确认。`selected_models[]` 为空或缺少厂商/型号时停止并返回具体缺口,不能根据类别名猜设备。
|
|
13
|
+
用户需求已由 clarify 整理,需要判断每条 reaction 如何实现时使用;需求变化后,只重查受影响的能力与绑定。研究可以与硬件选型并行,具体型号兼容在硬件登记后复核。本 skill 完成实现研究与兼容选型,不承担需求重定义、硬件选型、代码实现、部署或设备实测。
|
|
19
14
|
|
|
20
|
-
|
|
15
|
+
## 输入与输出
|
|
21
16
|
|
|
22
|
-
|
|
17
|
+
- **研究**:输入当前完整 Requirements(context、reaction、limits)和宿主提供的库内实现(若有);输出 `algorithm-research`(`status=proposed`),包含逐 reaction 的候选、实现说明、资源需求、来源及未解决项。
|
|
18
|
+
- **绑定**:输入上述候选、当前 `hardware-selection` 的 id 与 revision,以及带准确厂商/型号的 `selected_models`;输出 `algorithm-selection`,记录 reaction → 实现 → `component_id` 的绑定、兼容证据和版本,状态为 `verified` 或 `needs_confirmation`。硬件尚未 verified 时可以复核,结果保持待确认。
|
|
23
19
|
|
|
24
|
-
##
|
|
20
|
+
## 开始前读取
|
|
25
21
|
|
|
26
|
-
1.
|
|
27
|
-
2.
|
|
28
|
-
3.
|
|
29
|
-
4. 绑定:`algorithm.research`(`purpose=hardware`,查询带 `component_id`)→ `algorithm.finalize`(`operation=bind`,`research` 格式见 [algorithm-bindings.v1](schemas/algorithm-bindings.v1.json))。来源只写 `research_id` 与 `page_id`,回执由 Harness 从自己存下的正文填写。
|
|
30
|
-
5. 宿主在每个阶段开跑前用只读的 `algorithm.lane-state` 查当前需求有没有已提议的候选、候选有没有绑定到当前硬件,映射成 `workspace.lanes-next` 的 artifacts。
|
|
31
|
-
6. 已有的 `user-journey-algorithm` workflow(先有 verified 硬件再研究)保持可用,供不走车道的宿主使用。
|
|
22
|
+
1. 读取当前 Requirements 和[研究规则](references/research-policy.md),用 `algorithm.lane-state` 查看相同需求已有的候选与绑定,复用仍有效的结果。
|
|
23
|
+
2. 绑定前回读完整硬件选型资源,核对 id、revision、厂商和准确型号;不得从类别名或旧对话猜设备。
|
|
24
|
+
3. 准备提交时读取[选型服务契约](references/selection-service-contract.md);工具的参数、输出和错误处理以[动作手册](references/actions.generated.md)为准。需要 CLI 调用或资源读取语法时读同级 [harness](../abelien-harness/SKILL.md)。
|
|
32
25
|
|
|
33
|
-
##
|
|
26
|
+
## 核心判断:需求如何变成搜索任务
|
|
34
27
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- 交互类需求可以比较本地模型和云端 API,但“模型仓库存在”不等于“已有可调用云服务”,“当前 Agent 能调用模型”也不等于用户设备具备该能力。
|
|
39
|
-
- 发现、兼容复核、集成、部署和实测是五种不同状态。本包只完成前两项并保存版本化选型结果。
|
|
28
|
+
1. **拆能力**:从每条 reaction 的输入、期望反应、场景和硬约束拆出必要能力,保留原 `reaction_id`。普通规则或固件能完成的,不额外引入模型。
|
|
29
|
+
2. **定问题、写查询**:先说明要查清哪个实现问题,再用“能力/任务 + 影响选择的约束 + 实现形态”搜索;有候选后,用准确名称补查官方 I/O、依赖、版本及缺失证据。沿用用户明确的平台限制,未定硬件只记录资源需求。
|
|
30
|
+
3. **对应回需求**:先排除硬约束冲突,再比较能力覆盖、证据和集成代价。说明候选覆盖哪个环节、怎样衔接、依赖什么及仍缺什么;关键问题已有证据就收敛,只有实质取舍才保留备选。
|
|
40
31
|
|
|
41
|
-
|
|
32
|
+
库内已有实现适用时优先复用;按能力选择固件、库、模型或云服务的资料,不固定逐站搜索。端侧、云端、混合由用户的联网、隐私、延迟、费用和地域约束决定;官方正文用于支持结论,搜索摘要、热度及第三方榜单只用于发现。模型仓库存在不能证明云端 API 可用,Agent 能调用也不能证明设备具备该能力。
|
|
42
33
|
|
|
43
|
-
##
|
|
34
|
+
## 执行入口与工具
|
|
44
35
|
|
|
45
|
-
|
|
36
|
+
宿主按 workspace 的 `workspace.lanes-next` 确定研究或绑定阶段,调用以下同名动作:
|
|
37
|
+
|
|
38
|
+
- **研究**:`algorithm.research`(`purpose=implementation`,查询关联 `reaction_id`)→ 回读保存的正文 → `algorithm.candidates`。候选提交形状见 [algorithm-candidates.v1](schemas/algorithm-candidates.v1.json)。
|
|
39
|
+
- **绑定**:`algorithm.research`(`purpose=hardware`,查询关联 `component_id`)→ `algorithm.finalize`(`operation=bind`)。绑定提交形状见 [algorithm-bindings.v1](schemas/algorithm-bindings.v1.json)。
|
|
40
|
+
|
|
41
|
+
`algorithm.finalize` 不访问网络;来源引用已有 `research_id`、`page_id`,正文回执由 Harness 填写并核验。只有摘要或 Agent 自述不构成验证。未走车道的宿主仍可用 `user-journey-algorithm`,它要求先有 verified 硬件,研究判断与本 skill 相同。
|
|
42
|
+
|
|
43
|
+
## 结果交接
|
|
44
|
+
|
|
45
|
+
向调用方交回工具返回的资源 id、状态、逐 reaction 的实现选择、依据和未解决项;绑定结果同时交回选型 revision 与硬件基线。宿主用 `algorithm.lane-state` 回读后映射为 workspace 的 artifacts,不凭文字摘要推进状态。
|
|
46
|
+
|
|
47
|
+
候选的算力、内存、runtime、联网和接口需求交给 hardware;有依据的视野、拾音/发声开口、散热或动作范围要求交给 [structure](../abelien-structure/SKILL.md)。研究完成不代表设备兼容,兼容选型也不代表集成、部署或实物验证完成;没有精确设备实测就保留性能未知。
|
|
48
|
+
|
|
49
|
+
## 失败与恢复
|
|
50
|
+
|
|
51
|
+
- **输入缺口**:需求缺少会改变实现方向的事实时交回 guide/clarify;缺准确型号或硬件版本时暂停绑定,保留研究结果。硬件换型或结构反馈冲突后,复核受影响绑定。
|
|
52
|
+
- **证据不足**:来源读不到、版本不确定或硬约束无法证实时,记录具体缺口、影响和下一步;按现有输出保留 `unresolved` / `unknowns` / `blocking_unknowns`,不放宽需求或伪造 verified。
|
|
53
|
+
- **工具失败**:按动作手册区分输入错误、配置缺失和结果未知。已完成检索复用原记录;已发送但结果未知时保留原请求与研究身份,先回读/对账,不换 ID 重发。待完成的解析任务只查原任务。
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action_id": "algorithm.candidates",
|
|
3
|
+
"contract_version": 1,
|
|
4
|
+
"description": "核验 Agent 基于 implementation 研究为每个 reaction 提出的候选实现:引用须逐字出现在本次研究存下的正文,候选只能引用为自己 reaction 检索的页面,库内算法须来自研究输入的库清单;每个 reaction 要么有候选、要么写明未解决原因;保存为 status=proposed,不依赖硬件",
|
|
5
|
+
"audience": "agent",
|
|
6
|
+
"input_schema": "schemas/candidates-input.v1.json",
|
|
7
|
+
"output_schema": "schemas/candidates-result.v1.json",
|
|
8
|
+
"permissions": [
|
|
9
|
+
"algorithm.candidates",
|
|
10
|
+
"artifact.read",
|
|
11
|
+
"artifact.write"
|
|
12
|
+
],
|
|
13
|
+
"effects": [
|
|
14
|
+
"data.read",
|
|
15
|
+
"artifact.write"
|
|
16
|
+
],
|
|
17
|
+
"determinism": "deterministic",
|
|
18
|
+
"cache_policy": {
|
|
19
|
+
"mode": "disabled",
|
|
20
|
+
"allow_bypass": true
|
|
21
|
+
},
|
|
22
|
+
"errors": {
|
|
23
|
+
"VALIDATION": {
|
|
24
|
+
"category": "source",
|
|
25
|
+
"description": "research_id 不是 collected 的 implementation 研究、引用不在本次研究存下的正文、候选引用了别的 reaction 的页面、库内算法不在研究的库清单,或有 reaction 既没有候选也没有写明未解决原因",
|
|
26
|
+
"recovery": "correct_input"
|
|
27
|
+
},
|
|
28
|
+
"ALGORITHM_HOST": {
|
|
29
|
+
"category": "config",
|
|
30
|
+
"description": "宿主没有提供可信的资源读取、内容读写或资源列举端口",
|
|
31
|
+
"recovery": "await_configuration"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"result_checks": [
|
|
35
|
+
{
|
|
36
|
+
"kind": "output_schema"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"kind": "ref_integrity"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"completion": "validated_result"
|
|
43
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action_id": "algorithm.finalize",
|
|
3
|
+
"contract_version": 1,
|
|
4
|
+
"description": "把 Agent 基于硬件型号和官方联网证据做出的算法绑定归一化为版本化选型资源;operation=bind 时候选取自 algorithm.candidates,来源回执从 Harness 自己存下的研究正文解析,硬件基线尚未 verified 时结果固定为 needs_confirmation",
|
|
5
|
+
"audience": "agent",
|
|
6
|
+
"input_schema": "schemas/finalize-input.v1.json",
|
|
7
|
+
"output_schema": "schemas/finalize-result.v1.json",
|
|
8
|
+
"permissions": [
|
|
9
|
+
"algorithm.finalize",
|
|
10
|
+
"artifact.read",
|
|
11
|
+
"artifact.write"
|
|
12
|
+
],
|
|
13
|
+
"effects": [
|
|
14
|
+
"data.read",
|
|
15
|
+
"artifact.write"
|
|
16
|
+
],
|
|
17
|
+
"determinism": "deterministic",
|
|
18
|
+
"cache_policy": {
|
|
19
|
+
"mode": "disabled",
|
|
20
|
+
"allow_bypass": true
|
|
21
|
+
},
|
|
22
|
+
"errors": {
|
|
23
|
+
"VALIDATION": {
|
|
24
|
+
"category": "source",
|
|
25
|
+
"description": "operation 不对、硬件基线缺失或修订过期(select 还要求 verified)、reaction 不完整或没覆盖全部需求、来源不是一手资料或没有可核对的回执、绑定没选该 reaction 已提议的候选",
|
|
26
|
+
"recovery": "correct_input"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"result_checks": [
|
|
30
|
+
{
|
|
31
|
+
"kind": "output_schema"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"kind": "ref_integrity"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"completion": "validated_result"
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action_id": "algorithm.lane-state",
|
|
3
|
+
"contract_version": 1,
|
|
4
|
+
"description": "只读:按本草稿已存的资源回答当前需求有没有已提议的候选(落点、reaction、limits 与研究时一致),以及这些候选有没有绑定到给定的硬件选型 id 与 revision;宿主把结果映射成 workspace.lanes-next 的 artifacts",
|
|
5
|
+
"audience": "agent",
|
|
6
|
+
"input_schema": "schemas/lane-state-input.v1.json",
|
|
7
|
+
"output_schema": "schemas/lane-state-result.v1.json",
|
|
8
|
+
"permissions": [
|
|
9
|
+
"algorithm.lane-state",
|
|
10
|
+
"artifact.read"
|
|
11
|
+
],
|
|
12
|
+
"effects": [
|
|
13
|
+
"data.read"
|
|
14
|
+
],
|
|
15
|
+
"determinism": "deterministic",
|
|
16
|
+
"cache_policy": {
|
|
17
|
+
"mode": "disabled",
|
|
18
|
+
"allow_bypass": true
|
|
19
|
+
},
|
|
20
|
+
"errors": {
|
|
21
|
+
"VALIDATION": {
|
|
22
|
+
"category": "source",
|
|
23
|
+
"description": "字段不在表内、需求不合规,或硬件选型 ID 与修订不成对",
|
|
24
|
+
"recovery": "correct_input"
|
|
25
|
+
},
|
|
26
|
+
"ALGORITHM_HOST": {
|
|
27
|
+
"category": "config",
|
|
28
|
+
"description": "宿主没有提供可信的资源读取、内容读写或资源列举端口",
|
|
29
|
+
"recovery": "await_configuration"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"result_checks": [
|
|
33
|
+
{
|
|
34
|
+
"kind": "output_schema"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"completion": "validated_result"
|
|
38
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"action_id": "algorithm.research",
|
|
3
|
+
"contract_version": 1,
|
|
4
|
+
"description": "执行 Agent 的检索计划并保存证据:purpose=implementation 只凭需求检索实现资料(可与硬件选型并行),purpose=hardware 检索已选型号的厂商资料;Volc 检索(每次最多 5 条)与公开 HTTPS 页面安全直读,正文按 sha256 存证;每条付费检索先存 sent 再发送,重跑复用已完成检索、结果未知时要求对账而不重发;同一请求完成后重复运行直接返回已有结果",
|
|
5
|
+
"audience": "agent",
|
|
6
|
+
"input_schema": "schemas/research-input.v1.json",
|
|
7
|
+
"output_schema": "schemas/research-result.v1.json",
|
|
8
|
+
"permissions": [
|
|
9
|
+
"algorithm.research",
|
|
10
|
+
"artifact.read",
|
|
11
|
+
"artifact.write"
|
|
12
|
+
],
|
|
13
|
+
"effects": [
|
|
14
|
+
"data.read",
|
|
15
|
+
"network.read",
|
|
16
|
+
"artifact.write",
|
|
17
|
+
"budget.consume"
|
|
18
|
+
],
|
|
19
|
+
"determinism": "nondeterministic",
|
|
20
|
+
"cache_policy": {
|
|
21
|
+
"mode": "disabled_by_default",
|
|
22
|
+
"allow_bypass": true
|
|
23
|
+
},
|
|
24
|
+
"errors": {
|
|
25
|
+
"VALIDATION": {
|
|
26
|
+
"category": "source",
|
|
27
|
+
"description": "输入不合规:字段不在表内、用途不对、reaction 不是 1–20 条、库清单重复、检索条目不是 1–8 条或指向不存在的 reaction/零件,或 hardware 用途的选型缺失或修订过期",
|
|
28
|
+
"recovery": "correct_input"
|
|
29
|
+
},
|
|
30
|
+
"ALGORITHM_WEB_CONFIG": {
|
|
31
|
+
"category": "config",
|
|
32
|
+
"description": "缺少检索凭据或网络配置非法;在任何请求之前失败",
|
|
33
|
+
"recovery": "await_configuration"
|
|
34
|
+
},
|
|
35
|
+
"ALGORITHM_WEB_CHECKPOINT_REQUIRED": {
|
|
36
|
+
"category": "config",
|
|
37
|
+
"description": "计划里有付费检索,但宿主没有提供检查点;在任何请求之前拒绝",
|
|
38
|
+
"recovery": "await_configuration"
|
|
39
|
+
},
|
|
40
|
+
"ALGORITHM_HOST": {
|
|
41
|
+
"category": "config",
|
|
42
|
+
"description": "宿主没有提供可信的资源读取、内容读写或资源列举端口",
|
|
43
|
+
"recovery": "await_configuration"
|
|
44
|
+
},
|
|
45
|
+
"ALGORITHM_WEB_RECONCILIATION_REQUIRED": {
|
|
46
|
+
"category": "unknown",
|
|
47
|
+
"description": "检查点里有已发送、结果未知的检索,或已存证据与本请求不符;不会自动重发,需对账",
|
|
48
|
+
"recovery": "reconcile"
|
|
49
|
+
},
|
|
50
|
+
"ALGORITHM_WEB_RESPONSE": {
|
|
51
|
+
"category": "unknown",
|
|
52
|
+
"description": "检索服务的回执格式不符;按原检查点对账",
|
|
53
|
+
"recovery": "reconcile"
|
|
54
|
+
},
|
|
55
|
+
"CAPABILITY_CHECKPOINT_CONFLICT": {
|
|
56
|
+
"category": "unknown",
|
|
57
|
+
"description": "内核码:同一请求并发运行时,后写入检查点者失败",
|
|
58
|
+
"recovery": "reconcile"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"result_checks": [
|
|
62
|
+
{
|
|
63
|
+
"kind": "output_schema"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"kind": "ref_integrity"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"completion": "validated_result"
|
|
70
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "abelien.bindings.v1",
|
|
3
|
+
"description": "本包的缺省部署 profile:全部动作由本包模块实现。",
|
|
4
|
+
"bindings": [
|
|
5
|
+
{
|
|
6
|
+
"action_id": "algorithm.research",
|
|
7
|
+
"transport": "module",
|
|
8
|
+
"location": "local",
|
|
9
|
+
"effects": [],
|
|
10
|
+
"cancel": "unsupported",
|
|
11
|
+
"submission": {
|
|
12
|
+
"idempotent_submit": true,
|
|
13
|
+
"query_by_operation": true,
|
|
14
|
+
"remote_task_identity": "none",
|
|
15
|
+
"not_found_definitive": false
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"action_id": "algorithm.candidates",
|
|
20
|
+
"transport": "module",
|
|
21
|
+
"location": "local",
|
|
22
|
+
"effects": [],
|
|
23
|
+
"cancel": "unsupported",
|
|
24
|
+
"submission": {
|
|
25
|
+
"idempotent_submit": true,
|
|
26
|
+
"query_by_operation": false,
|
|
27
|
+
"remote_task_identity": "none",
|
|
28
|
+
"not_found_definitive": true
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"action_id": "algorithm.lane-state",
|
|
33
|
+
"transport": "module",
|
|
34
|
+
"location": "local",
|
|
35
|
+
"effects": [],
|
|
36
|
+
"cancel": "unsupported",
|
|
37
|
+
"submission": {
|
|
38
|
+
"idempotent_submit": true,
|
|
39
|
+
"query_by_operation": false,
|
|
40
|
+
"remote_task_identity": "none",
|
|
41
|
+
"not_found_definitive": true
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"action_id": "algorithm.finalize",
|
|
46
|
+
"transport": "module",
|
|
47
|
+
"location": "local",
|
|
48
|
+
"effects": [],
|
|
49
|
+
"cancel": "unsupported",
|
|
50
|
+
"submission": {
|
|
51
|
+
"idempotent_submit": true,
|
|
52
|
+
"query_by_operation": false,
|
|
53
|
+
"remote_task_identity": "none",
|
|
54
|
+
"not_found_definitive": true
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|