abelien-harness 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +5 -0
- package/README.md +11 -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 +12 -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 +49 -607
- 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/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
|
@@ -0,0 +1,1235 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "abelien.host-tools.v1",
|
|
3
|
+
"package": "abelien-algorithm",
|
|
4
|
+
"actions": [
|
|
5
|
+
{
|
|
6
|
+
"action_id": "algorithm.candidates",
|
|
7
|
+
"contract_version": 1,
|
|
8
|
+
"definition_digest": "b56ce171dbde92d68a3aec1ae149b1e7ceeb1e35d71b3bc34561cf2f8fa0f012",
|
|
9
|
+
"audience": "agent",
|
|
10
|
+
"description": "核验 Agent 基于 implementation 研究为每个 reaction 提出的候选实现:引用须逐字出现在本次研究存下的正文,候选只能引用为自己 reaction 检索的页面,库内算法须来自研究输入的库清单;每个 reaction 要么有候选、要么写明未解决原因;保存为 status=proposed,不依赖硬件",
|
|
11
|
+
"input_schema": {
|
|
12
|
+
"title": "abelien.algorithm.candidates.input.v1",
|
|
13
|
+
"description": "基于 implementation 研究为每个 reaction 提出的候选实现;research_id 由宿主按本步检索结果填入,其余字段与 algorithm-candidates 相同。",
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": [
|
|
16
|
+
"research_id",
|
|
17
|
+
"candidates"
|
|
18
|
+
],
|
|
19
|
+
"properties": {
|
|
20
|
+
"research_id": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"pattern": "^algorithm-research:[A-Za-z0-9][A-Za-z0-9_-]{0,127}$",
|
|
23
|
+
"description": "已存的算法研究资源"
|
|
24
|
+
},
|
|
25
|
+
"candidates": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"maxItems": 40,
|
|
28
|
+
"description": "每个 reaction 1–3 个候选;违反硬约束的不提交。",
|
|
29
|
+
"items": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"additionalProperties": false,
|
|
32
|
+
"required": [
|
|
33
|
+
"reaction_id",
|
|
34
|
+
"implementation_ref",
|
|
35
|
+
"implementation_type",
|
|
36
|
+
"execution_target",
|
|
37
|
+
"summary"
|
|
38
|
+
],
|
|
39
|
+
"properties": {
|
|
40
|
+
"reaction_id": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "需求里的 reaction id。"
|
|
43
|
+
},
|
|
44
|
+
"implementation_ref": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"minLength": 1,
|
|
47
|
+
"maxLength": 80,
|
|
48
|
+
"description": "实现的简短名称(如 FastLED、Open-Meteo Forecast API、microWakeWord),不带网址、括号说明或用途;说明写进 summary。绑定时原样引用。"
|
|
49
|
+
},
|
|
50
|
+
"implementation_version": {
|
|
51
|
+
"type": [
|
|
52
|
+
"string",
|
|
53
|
+
"null"
|
|
54
|
+
],
|
|
55
|
+
"maxLength": 60,
|
|
56
|
+
"description": "来源写明的确定版本(如 3.9.0、v2.1.0、One Call 3.0 的 3.0);来源没写就填 null,不填 latest、main。"
|
|
57
|
+
},
|
|
58
|
+
"implementation_type": {
|
|
59
|
+
"enum": [
|
|
60
|
+
"firmware",
|
|
61
|
+
"library",
|
|
62
|
+
"model",
|
|
63
|
+
"cloud_service"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"execution_target": {
|
|
67
|
+
"enum": [
|
|
68
|
+
"edge",
|
|
69
|
+
"cloud",
|
|
70
|
+
"hybrid"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"library_entry_id": {
|
|
74
|
+
"type": [
|
|
75
|
+
"string",
|
|
76
|
+
"null"
|
|
77
|
+
],
|
|
78
|
+
"description": "库内已适配算法的 entry_id;库外候选省略或填 null。"
|
|
79
|
+
},
|
|
80
|
+
"summary": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"minLength": 1,
|
|
83
|
+
"maxLength": 500,
|
|
84
|
+
"description": "怎么用它实现这个 reaction。"
|
|
85
|
+
},
|
|
86
|
+
"needs": {
|
|
87
|
+
"type": "object",
|
|
88
|
+
"additionalProperties": false,
|
|
89
|
+
"description": "对硬件的需求,按来源原文记录;原文没写的填 null 或留空列表,不猜。",
|
|
90
|
+
"properties": {
|
|
91
|
+
"compute": {
|
|
92
|
+
"type": [
|
|
93
|
+
"string",
|
|
94
|
+
"null"
|
|
95
|
+
],
|
|
96
|
+
"maxLength": 500
|
|
97
|
+
},
|
|
98
|
+
"memory": {
|
|
99
|
+
"type": [
|
|
100
|
+
"string",
|
|
101
|
+
"null"
|
|
102
|
+
],
|
|
103
|
+
"maxLength": 500
|
|
104
|
+
},
|
|
105
|
+
"storage": {
|
|
106
|
+
"type": [
|
|
107
|
+
"string",
|
|
108
|
+
"null"
|
|
109
|
+
],
|
|
110
|
+
"maxLength": 500
|
|
111
|
+
},
|
|
112
|
+
"runtime": {
|
|
113
|
+
"type": [
|
|
114
|
+
"string",
|
|
115
|
+
"null"
|
|
116
|
+
],
|
|
117
|
+
"maxLength": 500
|
|
118
|
+
},
|
|
119
|
+
"network": {
|
|
120
|
+
"type": [
|
|
121
|
+
"string",
|
|
122
|
+
"null"
|
|
123
|
+
],
|
|
124
|
+
"maxLength": 500
|
|
125
|
+
},
|
|
126
|
+
"interfaces": {
|
|
127
|
+
"type": "array",
|
|
128
|
+
"maxItems": 20,
|
|
129
|
+
"items": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"minLength": 1,
|
|
132
|
+
"maxLength": 120
|
|
133
|
+
},
|
|
134
|
+
"description": "每项一个接口的短名,如 I2C、GPIO、I2S microphone。"
|
|
135
|
+
},
|
|
136
|
+
"sensors": {
|
|
137
|
+
"type": "array",
|
|
138
|
+
"maxItems": 20,
|
|
139
|
+
"items": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"minLength": 1,
|
|
142
|
+
"maxLength": 120
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"quotes": {
|
|
148
|
+
"type": "array",
|
|
149
|
+
"maxItems": 6,
|
|
150
|
+
"description": "逐字取自本次研究读到的正文(可以是为别的 reaction 读到的页面,同一份资料常常支撑几个 reaction);库外候选至少一条。",
|
|
151
|
+
"items": {
|
|
152
|
+
"type": "object",
|
|
153
|
+
"additionalProperties": false,
|
|
154
|
+
"required": [
|
|
155
|
+
"page_id",
|
|
156
|
+
"text"
|
|
157
|
+
],
|
|
158
|
+
"properties": {
|
|
159
|
+
"page_id": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"description": "本次研究的页面 id,如 p3。"
|
|
162
|
+
},
|
|
163
|
+
"text": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"minLength": 8,
|
|
166
|
+
"maxLength": 400
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"unresolved": {
|
|
175
|
+
"type": "array",
|
|
176
|
+
"description": "确实找不到候选的 reaction,每个只写一次。",
|
|
177
|
+
"items": {
|
|
178
|
+
"type": "object",
|
|
179
|
+
"additionalProperties": false,
|
|
180
|
+
"required": [
|
|
181
|
+
"reaction_id",
|
|
182
|
+
"reason"
|
|
183
|
+
],
|
|
184
|
+
"properties": {
|
|
185
|
+
"reaction_id": {
|
|
186
|
+
"type": "string"
|
|
187
|
+
},
|
|
188
|
+
"reason": {
|
|
189
|
+
"type": "string",
|
|
190
|
+
"minLength": 1,
|
|
191
|
+
"maxLength": 500
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"unknowns": {
|
|
197
|
+
"type": "array",
|
|
198
|
+
"items": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"minLength": 1,
|
|
201
|
+
"maxLength": 500
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
"additionalProperties": false
|
|
206
|
+
},
|
|
207
|
+
"output_schema": {
|
|
208
|
+
"title": "abelien.algorithm.candidates.result.v1",
|
|
209
|
+
"description": "保存为 algorithm-research(status=proposed)的候选;不依赖硬件。",
|
|
210
|
+
"type": "object",
|
|
211
|
+
"required": [
|
|
212
|
+
"id",
|
|
213
|
+
"status",
|
|
214
|
+
"schema",
|
|
215
|
+
"collected_id",
|
|
216
|
+
"candidates",
|
|
217
|
+
"unresolved",
|
|
218
|
+
"unknowns"
|
|
219
|
+
],
|
|
220
|
+
"properties": {
|
|
221
|
+
"id": {
|
|
222
|
+
"type": "string",
|
|
223
|
+
"minLength": 1
|
|
224
|
+
},
|
|
225
|
+
"status": {
|
|
226
|
+
"const": "proposed"
|
|
227
|
+
},
|
|
228
|
+
"schema": {
|
|
229
|
+
"type": "string",
|
|
230
|
+
"minLength": 1
|
|
231
|
+
},
|
|
232
|
+
"collected_id": {
|
|
233
|
+
"type": "string",
|
|
234
|
+
"minLength": 1,
|
|
235
|
+
"description": "所依据的 collected 研究"
|
|
236
|
+
},
|
|
237
|
+
"candidates": {
|
|
238
|
+
"type": "array",
|
|
239
|
+
"items": {
|
|
240
|
+
"type": "object"
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
"unresolved": {
|
|
244
|
+
"type": "array",
|
|
245
|
+
"items": {
|
|
246
|
+
"type": "object"
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
"unknowns": {
|
|
250
|
+
"type": "array",
|
|
251
|
+
"description": "未解决的缺口"
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"action_id": "algorithm.finalize",
|
|
258
|
+
"contract_version": 1,
|
|
259
|
+
"definition_digest": "97b448d37858372a35e5a4040102ccbbeccc9e5437657cf20724c8369594062e",
|
|
260
|
+
"audience": "agent",
|
|
261
|
+
"description": "把 Agent 基于硬件型号和官方联网证据做出的算法绑定归一化为版本化选型资源;operation=bind 时候选取自 algorithm.candidates,来源回执从 Harness 自己存下的研究正文解析,硬件基线尚未 verified 时结果固定为 needs_confirmation",
|
|
262
|
+
"input_schema": {
|
|
263
|
+
"title": "abelien.algorithm.finalize.input.v1",
|
|
264
|
+
"description": "把 Agent 的算法绑定归一化为版本化选型资源。operation=bind 时候选取自 algorithm.candidates(proposed_id),来源回执由 Harness 从存下的研究正文填写;硬件基线尚未 verified 时结果固定为 needs_confirmation。",
|
|
265
|
+
"type": "object",
|
|
266
|
+
"required": [
|
|
267
|
+
"hardware_selection_id",
|
|
268
|
+
"hardware_selection_revision",
|
|
269
|
+
"requirements",
|
|
270
|
+
"reactions",
|
|
271
|
+
"research"
|
|
272
|
+
],
|
|
273
|
+
"properties": {
|
|
274
|
+
"operation": {
|
|
275
|
+
"enum": [
|
|
276
|
+
"select",
|
|
277
|
+
"bind"
|
|
278
|
+
],
|
|
279
|
+
"description": "缺省 select"
|
|
280
|
+
},
|
|
281
|
+
"hardware_selection_id": {
|
|
282
|
+
"type": "string",
|
|
283
|
+
"pattern": "^hardware-selection:[A-Za-z0-9][A-Za-z0-9_-]{0,127}$",
|
|
284
|
+
"description": "已存的硬件选型资源"
|
|
285
|
+
},
|
|
286
|
+
"hardware_selection_revision": {
|
|
287
|
+
"type": "string",
|
|
288
|
+
"minLength": 1
|
|
289
|
+
},
|
|
290
|
+
"proposed_id": {
|
|
291
|
+
"type": "string",
|
|
292
|
+
"pattern": "^algorithm-research:[A-Za-z0-9][A-Za-z0-9_-]{0,127}$",
|
|
293
|
+
"description": "仅 bind:已提议候选所在的研究"
|
|
294
|
+
},
|
|
295
|
+
"requirements": {
|
|
296
|
+
"type": "object",
|
|
297
|
+
"required": [
|
|
298
|
+
"limits"
|
|
299
|
+
],
|
|
300
|
+
"properties": {
|
|
301
|
+
"limits": {
|
|
302
|
+
"type": "array",
|
|
303
|
+
"description": "约束(没有时为空数组)"
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
"description": "clarify 整理后的需求原样"
|
|
307
|
+
},
|
|
308
|
+
"reactions": {
|
|
309
|
+
"type": "array",
|
|
310
|
+
"minItems": 1,
|
|
311
|
+
"items": {
|
|
312
|
+
"type": "object"
|
|
313
|
+
},
|
|
314
|
+
"description": "需求的 reaction[] 原样,必须覆盖全部 reaction"
|
|
315
|
+
},
|
|
316
|
+
"research": {
|
|
317
|
+
"title": "abelien.algorithm-bindings.v1",
|
|
318
|
+
"description": "绑定与来源(bind 时 candidates 由 Harness 从 proposed 候选填入)",
|
|
319
|
+
"type": "object",
|
|
320
|
+
"additionalProperties": false,
|
|
321
|
+
"required": [
|
|
322
|
+
"bindings",
|
|
323
|
+
"sources"
|
|
324
|
+
],
|
|
325
|
+
"properties": {
|
|
326
|
+
"bindings": {
|
|
327
|
+
"type": "array",
|
|
328
|
+
"description": "每个 reaction 恰好一条。",
|
|
329
|
+
"items": {
|
|
330
|
+
"type": "object",
|
|
331
|
+
"additionalProperties": false,
|
|
332
|
+
"required": [
|
|
333
|
+
"reaction_id",
|
|
334
|
+
"implementation_ref",
|
|
335
|
+
"implementation_version",
|
|
336
|
+
"implementation_type",
|
|
337
|
+
"execution_target",
|
|
338
|
+
"hardware_component_ids",
|
|
339
|
+
"source_ids",
|
|
340
|
+
"compatibility",
|
|
341
|
+
"constraint_checks"
|
|
342
|
+
],
|
|
343
|
+
"properties": {
|
|
344
|
+
"reaction_id": {
|
|
345
|
+
"type": "string"
|
|
346
|
+
},
|
|
347
|
+
"implementation_ref": {
|
|
348
|
+
"type": "string",
|
|
349
|
+
"maxLength": 80,
|
|
350
|
+
"description": "该 reaction 已提议候选之一的 implementation_ref,原样照抄。"
|
|
351
|
+
},
|
|
352
|
+
"implementation_version": {
|
|
353
|
+
"type": "string",
|
|
354
|
+
"maxLength": 60,
|
|
355
|
+
"description": "确定版本;候选没写版本时取厂商或实现资料写明的版本,查不到就照实填 unknown(结果会保持待确认)。"
|
|
356
|
+
},
|
|
357
|
+
"implementation_type": {
|
|
358
|
+
"enum": [
|
|
359
|
+
"firmware",
|
|
360
|
+
"library",
|
|
361
|
+
"model",
|
|
362
|
+
"cloud_service"
|
|
363
|
+
]
|
|
364
|
+
},
|
|
365
|
+
"execution_target": {
|
|
366
|
+
"enum": [
|
|
367
|
+
"edge",
|
|
368
|
+
"cloud",
|
|
369
|
+
"hybrid"
|
|
370
|
+
]
|
|
371
|
+
},
|
|
372
|
+
"hardware_component_ids": {
|
|
373
|
+
"type": "array",
|
|
374
|
+
"minItems": 1,
|
|
375
|
+
"items": {
|
|
376
|
+
"type": "string"
|
|
377
|
+
},
|
|
378
|
+
"description": "已登记硬件选型里的 component_id。"
|
|
379
|
+
},
|
|
380
|
+
"source_ids": {
|
|
381
|
+
"type": "array",
|
|
382
|
+
"minItems": 1,
|
|
383
|
+
"items": {
|
|
384
|
+
"type": "string"
|
|
385
|
+
},
|
|
386
|
+
"description": "sources[].id:至少一条覆盖所列型号的 hardware_vendor 来源,和一条 implementation_ref 与版本都相同的实现来源。"
|
|
387
|
+
},
|
|
388
|
+
"compatibility": {
|
|
389
|
+
"type": "object",
|
|
390
|
+
"additionalProperties": false,
|
|
391
|
+
"required": [
|
|
392
|
+
"io",
|
|
393
|
+
"runtime",
|
|
394
|
+
"dependencies",
|
|
395
|
+
"network",
|
|
396
|
+
"license",
|
|
397
|
+
"resources"
|
|
398
|
+
],
|
|
399
|
+
"properties": {
|
|
400
|
+
"io": {
|
|
401
|
+
"type": "object",
|
|
402
|
+
"additionalProperties": false,
|
|
403
|
+
"required": [
|
|
404
|
+
"status",
|
|
405
|
+
"summary",
|
|
406
|
+
"source_ids"
|
|
407
|
+
],
|
|
408
|
+
"properties": {
|
|
409
|
+
"status": {
|
|
410
|
+
"enum": [
|
|
411
|
+
"pass",
|
|
412
|
+
"conflict",
|
|
413
|
+
"unknown"
|
|
414
|
+
],
|
|
415
|
+
"description": "来源能证明成立才写 pass;证据不够写 unknown,冲突写 conflict。"
|
|
416
|
+
},
|
|
417
|
+
"summary": {
|
|
418
|
+
"type": "string",
|
|
419
|
+
"minLength": 1,
|
|
420
|
+
"maxLength": 500
|
|
421
|
+
},
|
|
422
|
+
"source_ids": {
|
|
423
|
+
"type": "array",
|
|
424
|
+
"items": {
|
|
425
|
+
"type": "string"
|
|
426
|
+
},
|
|
427
|
+
"description": "支撑这条判断的 sources[].id。"
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
"runtime": {
|
|
432
|
+
"type": "object",
|
|
433
|
+
"additionalProperties": false,
|
|
434
|
+
"required": [
|
|
435
|
+
"status",
|
|
436
|
+
"summary",
|
|
437
|
+
"source_ids"
|
|
438
|
+
],
|
|
439
|
+
"properties": {
|
|
440
|
+
"status": {
|
|
441
|
+
"enum": [
|
|
442
|
+
"pass",
|
|
443
|
+
"conflict",
|
|
444
|
+
"unknown"
|
|
445
|
+
],
|
|
446
|
+
"description": "来源能证明成立才写 pass;证据不够写 unknown,冲突写 conflict。"
|
|
447
|
+
},
|
|
448
|
+
"summary": {
|
|
449
|
+
"type": "string",
|
|
450
|
+
"minLength": 1,
|
|
451
|
+
"maxLength": 500
|
|
452
|
+
},
|
|
453
|
+
"source_ids": {
|
|
454
|
+
"type": "array",
|
|
455
|
+
"items": {
|
|
456
|
+
"type": "string"
|
|
457
|
+
},
|
|
458
|
+
"description": "支撑这条判断的 sources[].id。"
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
},
|
|
462
|
+
"dependencies": {
|
|
463
|
+
"type": "object",
|
|
464
|
+
"additionalProperties": false,
|
|
465
|
+
"required": [
|
|
466
|
+
"status",
|
|
467
|
+
"summary",
|
|
468
|
+
"source_ids"
|
|
469
|
+
],
|
|
470
|
+
"properties": {
|
|
471
|
+
"status": {
|
|
472
|
+
"enum": [
|
|
473
|
+
"pass",
|
|
474
|
+
"conflict",
|
|
475
|
+
"unknown"
|
|
476
|
+
],
|
|
477
|
+
"description": "来源能证明成立才写 pass;证据不够写 unknown,冲突写 conflict。"
|
|
478
|
+
},
|
|
479
|
+
"summary": {
|
|
480
|
+
"type": "string",
|
|
481
|
+
"minLength": 1,
|
|
482
|
+
"maxLength": 500
|
|
483
|
+
},
|
|
484
|
+
"source_ids": {
|
|
485
|
+
"type": "array",
|
|
486
|
+
"items": {
|
|
487
|
+
"type": "string"
|
|
488
|
+
},
|
|
489
|
+
"description": "支撑这条判断的 sources[].id。"
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
},
|
|
493
|
+
"network": {
|
|
494
|
+
"type": "object",
|
|
495
|
+
"additionalProperties": false,
|
|
496
|
+
"required": [
|
|
497
|
+
"status",
|
|
498
|
+
"summary",
|
|
499
|
+
"source_ids"
|
|
500
|
+
],
|
|
501
|
+
"properties": {
|
|
502
|
+
"status": {
|
|
503
|
+
"enum": [
|
|
504
|
+
"pass",
|
|
505
|
+
"conflict",
|
|
506
|
+
"unknown"
|
|
507
|
+
],
|
|
508
|
+
"description": "来源能证明成立才写 pass;证据不够写 unknown,冲突写 conflict。"
|
|
509
|
+
},
|
|
510
|
+
"summary": {
|
|
511
|
+
"type": "string",
|
|
512
|
+
"minLength": 1,
|
|
513
|
+
"maxLength": 500
|
|
514
|
+
},
|
|
515
|
+
"source_ids": {
|
|
516
|
+
"type": "array",
|
|
517
|
+
"items": {
|
|
518
|
+
"type": "string"
|
|
519
|
+
},
|
|
520
|
+
"description": "支撑这条判断的 sources[].id。"
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
},
|
|
524
|
+
"license": {
|
|
525
|
+
"type": "object",
|
|
526
|
+
"additionalProperties": false,
|
|
527
|
+
"required": [
|
|
528
|
+
"status",
|
|
529
|
+
"summary",
|
|
530
|
+
"source_ids"
|
|
531
|
+
],
|
|
532
|
+
"properties": {
|
|
533
|
+
"status": {
|
|
534
|
+
"enum": [
|
|
535
|
+
"pass",
|
|
536
|
+
"conflict",
|
|
537
|
+
"unknown"
|
|
538
|
+
],
|
|
539
|
+
"description": "来源能证明成立才写 pass;证据不够写 unknown,冲突写 conflict。"
|
|
540
|
+
},
|
|
541
|
+
"summary": {
|
|
542
|
+
"type": "string",
|
|
543
|
+
"minLength": 1,
|
|
544
|
+
"maxLength": 500
|
|
545
|
+
},
|
|
546
|
+
"source_ids": {
|
|
547
|
+
"type": "array",
|
|
548
|
+
"items": {
|
|
549
|
+
"type": "string"
|
|
550
|
+
},
|
|
551
|
+
"description": "支撑这条判断的 sources[].id。"
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
},
|
|
555
|
+
"resources": {
|
|
556
|
+
"type": "object",
|
|
557
|
+
"additionalProperties": false,
|
|
558
|
+
"required": [
|
|
559
|
+
"status",
|
|
560
|
+
"summary",
|
|
561
|
+
"source_ids"
|
|
562
|
+
],
|
|
563
|
+
"properties": {
|
|
564
|
+
"status": {
|
|
565
|
+
"enum": [
|
|
566
|
+
"pass",
|
|
567
|
+
"conflict",
|
|
568
|
+
"unknown"
|
|
569
|
+
],
|
|
570
|
+
"description": "来源能证明成立才写 pass;证据不够写 unknown,冲突写 conflict。"
|
|
571
|
+
},
|
|
572
|
+
"summary": {
|
|
573
|
+
"type": "string",
|
|
574
|
+
"minLength": 1,
|
|
575
|
+
"maxLength": 500
|
|
576
|
+
},
|
|
577
|
+
"source_ids": {
|
|
578
|
+
"type": "array",
|
|
579
|
+
"items": {
|
|
580
|
+
"type": "string"
|
|
581
|
+
},
|
|
582
|
+
"description": "支撑这条判断的 sources[].id。"
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
},
|
|
588
|
+
"constraint_checks": {
|
|
589
|
+
"type": "array",
|
|
590
|
+
"description": "需求里每条非 preference 的 limits 各一条。",
|
|
591
|
+
"items": {
|
|
592
|
+
"type": "object",
|
|
593
|
+
"additionalProperties": false,
|
|
594
|
+
"required": [
|
|
595
|
+
"constraint_id",
|
|
596
|
+
"status",
|
|
597
|
+
"summary",
|
|
598
|
+
"source_ids"
|
|
599
|
+
],
|
|
600
|
+
"properties": {
|
|
601
|
+
"constraint_id": {
|
|
602
|
+
"type": "string",
|
|
603
|
+
"description": "limits[].id。"
|
|
604
|
+
},
|
|
605
|
+
"status": {
|
|
606
|
+
"enum": [
|
|
607
|
+
"pass",
|
|
608
|
+
"conflict",
|
|
609
|
+
"unknown"
|
|
610
|
+
]
|
|
611
|
+
},
|
|
612
|
+
"summary": {
|
|
613
|
+
"type": "string",
|
|
614
|
+
"minLength": 1,
|
|
615
|
+
"maxLength": 500
|
|
616
|
+
},
|
|
617
|
+
"source_ids": {
|
|
618
|
+
"type": "array",
|
|
619
|
+
"items": {
|
|
620
|
+
"type": "string"
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
},
|
|
629
|
+
"sources": {
|
|
630
|
+
"type": "array",
|
|
631
|
+
"maxItems": 64,
|
|
632
|
+
"items": {
|
|
633
|
+
"type": "object",
|
|
634
|
+
"additionalProperties": false,
|
|
635
|
+
"required": [
|
|
636
|
+
"id",
|
|
637
|
+
"research_id",
|
|
638
|
+
"page_id",
|
|
639
|
+
"source_type",
|
|
640
|
+
"title",
|
|
641
|
+
"publisher",
|
|
642
|
+
"version",
|
|
643
|
+
"excerpt"
|
|
644
|
+
],
|
|
645
|
+
"properties": {
|
|
646
|
+
"id": {
|
|
647
|
+
"type": "string",
|
|
648
|
+
"description": "本次提交内唯一。"
|
|
649
|
+
},
|
|
650
|
+
"research_id": {
|
|
651
|
+
"type": "string",
|
|
652
|
+
"description": "页面所在的 algorithm-research 资源 id(实现研究或本步厂商检索)。"
|
|
653
|
+
},
|
|
654
|
+
"page_id": {
|
|
655
|
+
"type": "string",
|
|
656
|
+
"description": "该研究里 text_source=page 的页面 id;检索摘要页不算证据。"
|
|
657
|
+
},
|
|
658
|
+
"source_type": {
|
|
659
|
+
"enum": [
|
|
660
|
+
"hardware_vendor",
|
|
661
|
+
"implementation_official",
|
|
662
|
+
"huggingface",
|
|
663
|
+
"cloud_vendor"
|
|
664
|
+
],
|
|
665
|
+
"description": "按发布方选:所选型号的厂商资料 hardware_vendor;库、固件或模型的官方资料 implementation_official;Hugging Face 模型卡 huggingface;云服务官方文档 cloud_vendor。分销商、博客、论坛不是一手来源,不要列为来源。"
|
|
666
|
+
},
|
|
667
|
+
"title": {
|
|
668
|
+
"type": "string",
|
|
669
|
+
"minLength": 1,
|
|
670
|
+
"maxLength": 300
|
|
671
|
+
},
|
|
672
|
+
"publisher": {
|
|
673
|
+
"type": "string",
|
|
674
|
+
"minLength": 1,
|
|
675
|
+
"maxLength": 200
|
|
676
|
+
},
|
|
677
|
+
"version": {
|
|
678
|
+
"type": "string",
|
|
679
|
+
"maxLength": 60,
|
|
680
|
+
"description": "页面写明的文档版本、修订号或对应的实现版本;没写就填 unknown(结果会保持待确认)。"
|
|
681
|
+
},
|
|
682
|
+
"excerpt": {
|
|
683
|
+
"type": "string",
|
|
684
|
+
"minLength": 1,
|
|
685
|
+
"maxLength": 1200,
|
|
686
|
+
"description": "逐字取自该页正文的一段,支撑本来源被引用的结论。"
|
|
687
|
+
},
|
|
688
|
+
"hardware_component_ids": {
|
|
689
|
+
"type": "array",
|
|
690
|
+
"items": {
|
|
691
|
+
"type": "string"
|
|
692
|
+
},
|
|
693
|
+
"description": "hardware_vendor 来源覆盖的 component_id。"
|
|
694
|
+
},
|
|
695
|
+
"implementation_ref": {
|
|
696
|
+
"type": "string",
|
|
697
|
+
"maxLength": 80,
|
|
698
|
+
"description": "实现来源对应的 implementation_ref,与绑定一致。"
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
},
|
|
703
|
+
"unknowns": {
|
|
704
|
+
"type": "array",
|
|
705
|
+
"items": {
|
|
706
|
+
"type": "string",
|
|
707
|
+
"maxLength": 1000
|
|
708
|
+
}
|
|
709
|
+
},
|
|
710
|
+
"blocking_unknowns": {
|
|
711
|
+
"type": "array",
|
|
712
|
+
"items": {
|
|
713
|
+
"type": "string",
|
|
714
|
+
"maxLength": 1000
|
|
715
|
+
},
|
|
716
|
+
"description": "影响能否按此绑定实现的未知,写明怎么核实。"
|
|
717
|
+
},
|
|
718
|
+
"unavailable_sources": {
|
|
719
|
+
"type": "array",
|
|
720
|
+
"items": {
|
|
721
|
+
"type": "string",
|
|
722
|
+
"maxLength": 500
|
|
723
|
+
},
|
|
724
|
+
"description": "想读但读不到的资料及原因。"
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
},
|
|
730
|
+
"output_schema": {
|
|
731
|
+
"title": "abelien.algorithm.finalize.result.v1",
|
|
732
|
+
"description": "保存为 algorithm-selection 的算法选型。verified 必有绑定与来源、没有阻断未知。",
|
|
733
|
+
"type": "object",
|
|
734
|
+
"required": [
|
|
735
|
+
"id",
|
|
736
|
+
"status",
|
|
737
|
+
"hardware_selection_id",
|
|
738
|
+
"hardware_selection_revision",
|
|
739
|
+
"source_snapshot",
|
|
740
|
+
"revision",
|
|
741
|
+
"bindings",
|
|
742
|
+
"candidates",
|
|
743
|
+
"sources",
|
|
744
|
+
"unavailable_sources",
|
|
745
|
+
"unknowns",
|
|
746
|
+
"blocking_unknowns"
|
|
747
|
+
],
|
|
748
|
+
"properties": {
|
|
749
|
+
"id": {
|
|
750
|
+
"type": "string",
|
|
751
|
+
"minLength": 1
|
|
752
|
+
},
|
|
753
|
+
"status": {
|
|
754
|
+
"enum": [
|
|
755
|
+
"verified",
|
|
756
|
+
"needs_confirmation"
|
|
757
|
+
]
|
|
758
|
+
},
|
|
759
|
+
"hardware_selection_id": {
|
|
760
|
+
"type": "string",
|
|
761
|
+
"minLength": 1
|
|
762
|
+
},
|
|
763
|
+
"hardware_selection_revision": {
|
|
764
|
+
"type": "string",
|
|
765
|
+
"minLength": 1
|
|
766
|
+
},
|
|
767
|
+
"operation": {
|
|
768
|
+
"const": "bind"
|
|
769
|
+
},
|
|
770
|
+
"proposed_id": {
|
|
771
|
+
"type": "string"
|
|
772
|
+
},
|
|
773
|
+
"source_snapshot": {
|
|
774
|
+
"type": "string",
|
|
775
|
+
"minLength": 1
|
|
776
|
+
},
|
|
777
|
+
"revision": {
|
|
778
|
+
"type": "string",
|
|
779
|
+
"minLength": 1
|
|
780
|
+
},
|
|
781
|
+
"bindings": {
|
|
782
|
+
"type": "array",
|
|
783
|
+
"items": {
|
|
784
|
+
"type": "object"
|
|
785
|
+
}
|
|
786
|
+
},
|
|
787
|
+
"candidates": {
|
|
788
|
+
"type": "array"
|
|
789
|
+
},
|
|
790
|
+
"sources": {
|
|
791
|
+
"type": "array",
|
|
792
|
+
"items": {
|
|
793
|
+
"type": "object"
|
|
794
|
+
}
|
|
795
|
+
},
|
|
796
|
+
"unavailable_sources": {
|
|
797
|
+
"type": "array"
|
|
798
|
+
},
|
|
799
|
+
"unknowns": {
|
|
800
|
+
"type": "array",
|
|
801
|
+
"description": "未解决的缺口"
|
|
802
|
+
},
|
|
803
|
+
"blocking_unknowns": {
|
|
804
|
+
"type": "array"
|
|
805
|
+
}
|
|
806
|
+
},
|
|
807
|
+
"allOf": [
|
|
808
|
+
{
|
|
809
|
+
"if": {
|
|
810
|
+
"properties": {
|
|
811
|
+
"status": {
|
|
812
|
+
"const": "verified"
|
|
813
|
+
}
|
|
814
|
+
},
|
|
815
|
+
"required": [
|
|
816
|
+
"status"
|
|
817
|
+
]
|
|
818
|
+
},
|
|
819
|
+
"then": {
|
|
820
|
+
"properties": {
|
|
821
|
+
"bindings": {
|
|
822
|
+
"minItems": 1
|
|
823
|
+
},
|
|
824
|
+
"sources": {
|
|
825
|
+
"minItems": 1
|
|
826
|
+
},
|
|
827
|
+
"blocking_unknowns": {
|
|
828
|
+
"maxItems": 0
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
]
|
|
834
|
+
}
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"action_id": "algorithm.lane-state",
|
|
838
|
+
"contract_version": 1,
|
|
839
|
+
"definition_digest": "49dbca22c3b02beb0157012af6ec3042949f2d6e2efb98c887dbad746dce0e79",
|
|
840
|
+
"audience": "agent",
|
|
841
|
+
"description": "只读:按本草稿已存的资源回答当前需求有没有已提议的候选(落点、reaction、limits 与研究时一致),以及这些候选有没有绑定到给定的硬件选型 id 与 revision;宿主把结果映射成 workspace.lanes-next 的 artifacts",
|
|
842
|
+
"input_schema": {
|
|
843
|
+
"title": "abelien.algorithm.lane-state.input.v1",
|
|
844
|
+
"description": "只读:按本草稿已存的资源回答当前需求有没有已提议的候选,以及它们有没有绑定到给定的硬件选型。",
|
|
845
|
+
"type": "object",
|
|
846
|
+
"required": [
|
|
847
|
+
"requirements"
|
|
848
|
+
],
|
|
849
|
+
"properties": {
|
|
850
|
+
"requirements": {
|
|
851
|
+
"description": "clarify 整理后的需求(Requirements),原样传入;研究只看 context、reaction 与 limits",
|
|
852
|
+
"type": "object",
|
|
853
|
+
"required": [
|
|
854
|
+
"reaction"
|
|
855
|
+
],
|
|
856
|
+
"properties": {
|
|
857
|
+
"context": {
|
|
858
|
+
"type": "object",
|
|
859
|
+
"properties": {
|
|
860
|
+
"text": {
|
|
861
|
+
"type": "string"
|
|
862
|
+
},
|
|
863
|
+
"source": {
|
|
864
|
+
"enum": [
|
|
865
|
+
"user",
|
|
866
|
+
"system"
|
|
867
|
+
]
|
|
868
|
+
}
|
|
869
|
+
},
|
|
870
|
+
"description": "使用场景"
|
|
871
|
+
},
|
|
872
|
+
"reaction": {
|
|
873
|
+
"type": "array",
|
|
874
|
+
"minItems": 1,
|
|
875
|
+
"maxItems": 20,
|
|
876
|
+
"items": {
|
|
877
|
+
"type": "object",
|
|
878
|
+
"required": [
|
|
879
|
+
"id",
|
|
880
|
+
"text"
|
|
881
|
+
],
|
|
882
|
+
"properties": {
|
|
883
|
+
"id": {
|
|
884
|
+
"type": "string",
|
|
885
|
+
"minLength": 1
|
|
886
|
+
},
|
|
887
|
+
"text": {
|
|
888
|
+
"type": "string",
|
|
889
|
+
"minLength": 1
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
},
|
|
893
|
+
"description": "触发→反应条目,1–20 条,id 不重复"
|
|
894
|
+
},
|
|
895
|
+
"limits": {
|
|
896
|
+
"type": "array",
|
|
897
|
+
"items": {
|
|
898
|
+
"type": "object",
|
|
899
|
+
"required": [
|
|
900
|
+
"id"
|
|
901
|
+
],
|
|
902
|
+
"properties": {
|
|
903
|
+
"id": {
|
|
904
|
+
"type": "string",
|
|
905
|
+
"minLength": 1
|
|
906
|
+
},
|
|
907
|
+
"text": {
|
|
908
|
+
"type": "string"
|
|
909
|
+
},
|
|
910
|
+
"strength": {
|
|
911
|
+
"enum": [
|
|
912
|
+
"hard",
|
|
913
|
+
"preference"
|
|
914
|
+
]
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
},
|
|
918
|
+
"description": "约束;只有明确的 preference 不阻断"
|
|
919
|
+
},
|
|
920
|
+
"intent": {
|
|
921
|
+
"type": "object"
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
},
|
|
925
|
+
"hardware_selection_id": {
|
|
926
|
+
"oneOf": [
|
|
927
|
+
{
|
|
928
|
+
"type": "null"
|
|
929
|
+
},
|
|
930
|
+
{
|
|
931
|
+
"type": "string",
|
|
932
|
+
"pattern": "^hardware-selection:[A-Za-z0-9][A-Za-z0-9_-]{0,127}$",
|
|
933
|
+
"description": "已存的硬件选型资源"
|
|
934
|
+
}
|
|
935
|
+
],
|
|
936
|
+
"description": "当前硬件选型;还没有时省略或为 null"
|
|
937
|
+
},
|
|
938
|
+
"hardware_selection_revision": {
|
|
939
|
+
"type": "string",
|
|
940
|
+
"minLength": 1,
|
|
941
|
+
"description": "给出硬件选型时必填"
|
|
942
|
+
}
|
|
943
|
+
},
|
|
944
|
+
"additionalProperties": false
|
|
945
|
+
},
|
|
946
|
+
"output_schema": {
|
|
947
|
+
"title": "abelien.algorithm.lane-state.result.v1",
|
|
948
|
+
"description": "车道状态;宿主把它映射成 workspace.lanes-next 的 artifacts。",
|
|
949
|
+
"type": "object",
|
|
950
|
+
"required": [
|
|
951
|
+
"requirements_digest",
|
|
952
|
+
"proposed_id",
|
|
953
|
+
"selection_id",
|
|
954
|
+
"selection_status"
|
|
955
|
+
],
|
|
956
|
+
"properties": {
|
|
957
|
+
"requirements_digest": {
|
|
958
|
+
"type": "string",
|
|
959
|
+
"minLength": 1,
|
|
960
|
+
"description": "落点、reaction、limits 的规范化摘要"
|
|
961
|
+
},
|
|
962
|
+
"proposed_id": {
|
|
963
|
+
"type": [
|
|
964
|
+
"string",
|
|
965
|
+
"null"
|
|
966
|
+
],
|
|
967
|
+
"description": "同需求最新的已提议候选"
|
|
968
|
+
},
|
|
969
|
+
"selection_id": {
|
|
970
|
+
"type": [
|
|
971
|
+
"string",
|
|
972
|
+
"null"
|
|
973
|
+
],
|
|
974
|
+
"description": "这些候选绑定到给定硬件的选型结果"
|
|
975
|
+
},
|
|
976
|
+
"selection_status": {
|
|
977
|
+
"type": [
|
|
978
|
+
"string",
|
|
979
|
+
"null"
|
|
980
|
+
],
|
|
981
|
+
"description": "该绑定的状态"
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
}
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"action_id": "algorithm.research",
|
|
988
|
+
"contract_version": 1,
|
|
989
|
+
"definition_digest": "2ef67d4c15ed3b06fb3772d7ec7ca83de4fb42b06ed740714e679f9bb08dc072",
|
|
990
|
+
"audience": "agent",
|
|
991
|
+
"description": "执行 Agent 的检索计划并保存证据:purpose=implementation 只凭需求检索实现资料(可与硬件选型并行),purpose=hardware 检索已选型号的厂商资料;Volc 检索(每次最多 5 条)与公开 HTTPS 页面安全直读,正文按 sha256 存证;每条付费检索先存 sent 再发送,重跑复用已完成检索、结果未知时要求对账而不重发;同一请求完成后重复运行直接返回已有结果",
|
|
992
|
+
"input_schema": {
|
|
993
|
+
"title": "abelien.algorithm.research.input.v1",
|
|
994
|
+
"description": "算法研究的检索计划:implementation 只凭需求检索实现资料(可与硬件选型并行),hardware 检索已选型号的厂商资料。",
|
|
995
|
+
"type": "object",
|
|
996
|
+
"required": [
|
|
997
|
+
"purpose",
|
|
998
|
+
"requirements",
|
|
999
|
+
"plan"
|
|
1000
|
+
],
|
|
1001
|
+
"properties": {
|
|
1002
|
+
"purpose": {
|
|
1003
|
+
"enum": [
|
|
1004
|
+
"implementation",
|
|
1005
|
+
"hardware"
|
|
1006
|
+
]
|
|
1007
|
+
},
|
|
1008
|
+
"requirements": {
|
|
1009
|
+
"description": "clarify 整理后的需求(Requirements),原样传入;研究只看 context、reaction 与 limits",
|
|
1010
|
+
"type": "object",
|
|
1011
|
+
"required": [
|
|
1012
|
+
"reaction"
|
|
1013
|
+
],
|
|
1014
|
+
"properties": {
|
|
1015
|
+
"context": {
|
|
1016
|
+
"type": "object",
|
|
1017
|
+
"properties": {
|
|
1018
|
+
"text": {
|
|
1019
|
+
"type": "string"
|
|
1020
|
+
},
|
|
1021
|
+
"source": {
|
|
1022
|
+
"enum": [
|
|
1023
|
+
"user",
|
|
1024
|
+
"system"
|
|
1025
|
+
]
|
|
1026
|
+
}
|
|
1027
|
+
},
|
|
1028
|
+
"description": "使用场景"
|
|
1029
|
+
},
|
|
1030
|
+
"reaction": {
|
|
1031
|
+
"type": "array",
|
|
1032
|
+
"minItems": 1,
|
|
1033
|
+
"maxItems": 20,
|
|
1034
|
+
"items": {
|
|
1035
|
+
"type": "object",
|
|
1036
|
+
"required": [
|
|
1037
|
+
"id",
|
|
1038
|
+
"text"
|
|
1039
|
+
],
|
|
1040
|
+
"properties": {
|
|
1041
|
+
"id": {
|
|
1042
|
+
"type": "string",
|
|
1043
|
+
"minLength": 1
|
|
1044
|
+
},
|
|
1045
|
+
"text": {
|
|
1046
|
+
"type": "string",
|
|
1047
|
+
"minLength": 1
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
},
|
|
1051
|
+
"description": "触发→反应条目,1–20 条,id 不重复"
|
|
1052
|
+
},
|
|
1053
|
+
"limits": {
|
|
1054
|
+
"type": "array",
|
|
1055
|
+
"items": {
|
|
1056
|
+
"type": "object",
|
|
1057
|
+
"required": [
|
|
1058
|
+
"id"
|
|
1059
|
+
],
|
|
1060
|
+
"properties": {
|
|
1061
|
+
"id": {
|
|
1062
|
+
"type": "string",
|
|
1063
|
+
"minLength": 1
|
|
1064
|
+
},
|
|
1065
|
+
"text": {
|
|
1066
|
+
"type": "string"
|
|
1067
|
+
},
|
|
1068
|
+
"strength": {
|
|
1069
|
+
"enum": [
|
|
1070
|
+
"hard",
|
|
1071
|
+
"preference"
|
|
1072
|
+
]
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
},
|
|
1076
|
+
"description": "约束;只有明确的 preference 不阻断"
|
|
1077
|
+
},
|
|
1078
|
+
"intent": {
|
|
1079
|
+
"type": "object"
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
},
|
|
1083
|
+
"library": {
|
|
1084
|
+
"type": [
|
|
1085
|
+
"array",
|
|
1086
|
+
"null"
|
|
1087
|
+
],
|
|
1088
|
+
"maxItems": 50,
|
|
1089
|
+
"description": "仅 implementation:库内已有算法清单,候选只能从中引用库内条目",
|
|
1090
|
+
"items": {
|
|
1091
|
+
"type": "object",
|
|
1092
|
+
"required": [
|
|
1093
|
+
"entry_id",
|
|
1094
|
+
"name"
|
|
1095
|
+
],
|
|
1096
|
+
"properties": {
|
|
1097
|
+
"entry_id": {
|
|
1098
|
+
"type": "string",
|
|
1099
|
+
"minLength": 1
|
|
1100
|
+
},
|
|
1101
|
+
"name": {
|
|
1102
|
+
"type": "string",
|
|
1103
|
+
"minLength": 1,
|
|
1104
|
+
"maxLength": 200
|
|
1105
|
+
},
|
|
1106
|
+
"category": {
|
|
1107
|
+
"type": "string"
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
},
|
|
1112
|
+
"hardware_selection_id": {
|
|
1113
|
+
"type": "string",
|
|
1114
|
+
"pattern": "^hardware-selection:[A-Za-z0-9][A-Za-z0-9_-]{0,127}$",
|
|
1115
|
+
"description": "仅 hardware:所查型号来自这份选型"
|
|
1116
|
+
},
|
|
1117
|
+
"hardware_selection_revision": {
|
|
1118
|
+
"type": "string",
|
|
1119
|
+
"minLength": 1,
|
|
1120
|
+
"description": "仅 hardware:选型修订号,必须是当前修订"
|
|
1121
|
+
},
|
|
1122
|
+
"plan": {
|
|
1123
|
+
"type": "object",
|
|
1124
|
+
"required": [
|
|
1125
|
+
"queries"
|
|
1126
|
+
],
|
|
1127
|
+
"properties": {
|
|
1128
|
+
"queries": {
|
|
1129
|
+
"type": "array",
|
|
1130
|
+
"minItems": 1,
|
|
1131
|
+
"maxItems": 8,
|
|
1132
|
+
"items": {
|
|
1133
|
+
"type": "object",
|
|
1134
|
+
"required": [
|
|
1135
|
+
"query"
|
|
1136
|
+
],
|
|
1137
|
+
"properties": {
|
|
1138
|
+
"reaction_id": {
|
|
1139
|
+
"type": "string",
|
|
1140
|
+
"description": "implementation 必填:检索服务的 reaction;hardware 可选"
|
|
1141
|
+
},
|
|
1142
|
+
"component_id": {
|
|
1143
|
+
"type": "string",
|
|
1144
|
+
"description": "仅 hardware:选型里的 component_id"
|
|
1145
|
+
},
|
|
1146
|
+
"query": {
|
|
1147
|
+
"type": "string",
|
|
1148
|
+
"minLength": 1,
|
|
1149
|
+
"maxLength": 200
|
|
1150
|
+
},
|
|
1151
|
+
"count": {
|
|
1152
|
+
"type": "integer",
|
|
1153
|
+
"minimum": 1,
|
|
1154
|
+
"maximum": 5
|
|
1155
|
+
}
|
|
1156
|
+
},
|
|
1157
|
+
"additionalProperties": false
|
|
1158
|
+
}
|
|
1159
|
+
},
|
|
1160
|
+
"max_pages": {
|
|
1161
|
+
"type": "integer",
|
|
1162
|
+
"minimum": 0,
|
|
1163
|
+
"maximum": 12,
|
|
1164
|
+
"default": 8
|
|
1165
|
+
}
|
|
1166
|
+
},
|
|
1167
|
+
"additionalProperties": false
|
|
1168
|
+
}
|
|
1169
|
+
},
|
|
1170
|
+
"additionalProperties": false
|
|
1171
|
+
},
|
|
1172
|
+
"output_schema": {
|
|
1173
|
+
"title": "abelien.algorithm.research.result.v1",
|
|
1174
|
+
"description": "保存为 algorithm-research 的研究证据(collected):检索、页面与正文摘要;proposed 是 algorithm.candidates 另存的结果。",
|
|
1175
|
+
"type": "object",
|
|
1176
|
+
"required": [
|
|
1177
|
+
"id",
|
|
1178
|
+
"status",
|
|
1179
|
+
"schema",
|
|
1180
|
+
"request_digest"
|
|
1181
|
+
],
|
|
1182
|
+
"properties": {
|
|
1183
|
+
"id": {
|
|
1184
|
+
"type": "string",
|
|
1185
|
+
"minLength": 1
|
|
1186
|
+
},
|
|
1187
|
+
"status": {
|
|
1188
|
+
"enum": [
|
|
1189
|
+
"collected",
|
|
1190
|
+
"proposed"
|
|
1191
|
+
]
|
|
1192
|
+
},
|
|
1193
|
+
"schema": {
|
|
1194
|
+
"type": "string",
|
|
1195
|
+
"minLength": 1
|
|
1196
|
+
},
|
|
1197
|
+
"request_digest": {
|
|
1198
|
+
"type": "string",
|
|
1199
|
+
"minLength": 1
|
|
1200
|
+
},
|
|
1201
|
+
"purpose": {
|
|
1202
|
+
"enum": [
|
|
1203
|
+
"implementation",
|
|
1204
|
+
"hardware"
|
|
1205
|
+
]
|
|
1206
|
+
},
|
|
1207
|
+
"reactions": {
|
|
1208
|
+
"type": "array",
|
|
1209
|
+
"items": {
|
|
1210
|
+
"type": "object"
|
|
1211
|
+
}
|
|
1212
|
+
},
|
|
1213
|
+
"searches": {
|
|
1214
|
+
"type": "array",
|
|
1215
|
+
"items": {
|
|
1216
|
+
"type": "object"
|
|
1217
|
+
}
|
|
1218
|
+
},
|
|
1219
|
+
"pages": {
|
|
1220
|
+
"type": "array",
|
|
1221
|
+
"items": {
|
|
1222
|
+
"type": "object"
|
|
1223
|
+
},
|
|
1224
|
+
"description": "读取的页面:url、status、text_sha256 与正文 blob 引用"
|
|
1225
|
+
},
|
|
1226
|
+
"unknowns": {
|
|
1227
|
+
"type": "array",
|
|
1228
|
+
"description": "未解决的缺口"
|
|
1229
|
+
}
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1233
|
+
],
|
|
1234
|
+
"tools": []
|
|
1235
|
+
}
|