{"format": "ta-amps.seed-pack.verbs.v1", "pack_id": "findings-to-fixes", "status": "proposal_only", "tasks": [ {"queue": "conformance-seed-packs", "kind": "verb.problemize", "effect_class": "write-internal", "priority": 50, "idempotency_key": "seedpack:findings-to-fixes:record-finding:267f86be748b10020dd12cff8c392663d41d51d88d3fda62f1dbbaf4eb82f9f4", "depends_on": [], "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:verb.problemize", "pack:findings-to-fixes", "template:record-finding", "claimant:agent_or_human", "status:quarantined"], "brief": {"category_id": "verb.problemize", "contract": "ta-amps.seed-verb-template.v1", "pack": "findings-to-fixes", "pack_version": "0.1.0", "template_id": "findings-to-fixes.record-finding", "title": "Record a noticed problem as a finding", "plain_summary": "Write down an error, issue, design flaw or annoyance as soon as anyone notices it: what was seen, where, evidence, who noticed it and when, a provisional kind and severity, and a fingerprint for spotting duplicates.", "outcome": "A finding noun with status open, or no_change when this exact observation by this noticer is already recorded.", "claimant": "agent_or_human", "inputs": {"pinned": [{"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.method", "version": 1, "value_sha256": "145baf45a09abe1e663f8ccce52e87389c3ded7146424ad30af65250737e18ad"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.kind-definitions", "version": 1, "value_sha256": "472d8115b15f03e086fb88b34b28357e97e2cec1830babb6cfb9c01ed4f80598"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.severity-guide", "version": 1, "value_sha256": "01285ba591bde6c9f30d768030de1d3c774bde33cf0c9a705f6a90bc128f94bd"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.evidence-checklist", "version": 1, "value_sha256": "907f80e8681a94894c8a03ea07a793aecc1b25ea9fe1f5f04a8096d7c2e5862e"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.disclosure-rules", "version": 1, "value_sha256": "2d1ba0fc92cad5303e036b926cd317eaabf60c4da32fc343a04be4313f7c3d32"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.record-checks", "version": 1, "value_sha256": "88bcb05c5c2cfe113f448107323a35f5cf68a447b55b278bfdba61eadebdb586"}], "slots": {"evidence_records": [], "nearby_findings": []}, "params": {"finding_id": null, "observation": null, "where": null, "noticed_by": null, "noticed_at": null, "output_store": "seedpack.findings-to-fixes.outputs"}}, "slot_specs": {"evidence_records": {"category": "noun.eval_run", "required": false, "many": true, "description": "Pins of runs, check results or logs that already show the problem, if any."}, "nearby_findings": {"category": "noun.seed_hypothesis", "required": false, "many": true, "description": "Pins of findings already recorded for the same part, to compare fingerprints. A match is noted for triage, not skipped."}}, "param_specs": {"finding_id": {"description": "The id the requester assigned to the new finding.", "schema": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "required": true}, "observation": {"description": "What was seen, in the noticer's own words.", "schema": {"type": "string", "minLength": 1, "maxLength": 2000}, "required": true}, "where": {"description": "Where it was seen: a file and line, a page address, a run id or a step in a process.", "schema": {"type": "string", "minLength": 1, "maxLength": 300}, "required": true}, "noticed_by": {"description": "Who noticed it: a person, a worker or an automated check.", "schema": {"type": "string", "minLength": 1, "maxLength": 120}, "required": true}, "noticed_at": {"description": "When it was noticed, as a UTC date and time.", "schema": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}", "maxLength": 40}, "required": true}, "output_store": {"description": "Store for the produced nouns. The default is a placeholder; use the store your owner assigned.", "schema": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "required": true, "default": "seedpack.findings-to-fixes.outputs"}}, "input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 6, "maxItems": 6, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": [], "properties": {"evidence_records": {"type": "array", "minItems": 0, "maxItems": 8, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "nearby_findings": {"type": "array", "minItems": 0, "maxItems": 40, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["finding_id", "observation", "where", "noticed_by", "noticed_at", "output_store"], "properties": {"finding_id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "observation": {"type": "string", "minLength": 1, "maxLength": 2000}, "where": {"type": "string", "minLength": 1, "maxLength": 300}, "noticed_by": {"type": "string", "minLength": 1, "maxLength": 120}, "noticed_at": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}", "maxLength": 40}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_contract": {"visibility_scope": "surface_only", "allowed_surfaces": [], "write_mode": "create_only", "store_param": "output_store", "key_rule": "findings-to-fixes..[.]", "expected_version": 0, "produces": [{"name": "finding", "template": {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.template.finding", "version": 1, "value_sha256": "05a0e9ba4bc9bc4d900146290e39155ceadb799d334a47180f354dd988774a80"}, "max": 1}], "delivery": "Write produced nouns surface_only under your own authenticated surface, which is the requester's assigned surface, so the requester and that surface's reviewers can read them. Never use public_commons or allowlist other surfaces. Return every produced noun's pin in output.artifacts; add its value when the requester asks for inline delivery."}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["finding_recorded", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}, "permitted_outcomes": ["finding_recorded", "no_change", "unknown", "blocked"], "outcome_meanings": {"finding_recorded": "The declared nouns were produced and every deterministic acceptance check passed.", "no_change": "The evidence does not justify producing or changing anything. Say why.", "unknown": "The question could not be answered with the permitted inputs. List what is missing and what would resolve it.", "blocked": "A required input, permission or capability is missing. Ask one precise question."}, "outcome_requirements": {"finding_recorded": ["artifacts", "checks"], "no_change": ["no_change_reason"], "unknown": ["unknowns"], "blocked": ["blocked_question"]}, "acceptance_checks": [{"id": "finding-matches-template", "check": "The finding validates against template.finding's schema.", "method": "deterministic"}, {"id": "record-checks-pass", "check": "The finding passes every deterministic check in record-checks.", "method": "deterministic"}, {"id": "fingerprint-matches-kind", "check": "The fingerprint starts with the finding's kind.", "method": "deterministic"}, {"id": "status-open", "check": "The status is open.", "method": "deterministic"}, {"id": "evidence-usable", "check": "A different worker could see the same problem from the evidence.", "method": "judgment"}], "creates": {"nouns": "The worker writes the nouns listed in output_contract.produces and returns their pins.", "verbs": "The worker proposes follow-up verbs in output.proposed_verbs, such as a breakdown into smaller verbs or a research follow-up, with the pins they need. Proposals are never enqueued by the worker; an authorized requester enqueues the ones worth doing."}, "guidance": {"required": ["Record it now, even if it looks small or will be fixed in a minute; recording never waits for a fix.", "Write what was seen, where, who noticed it and when. For an annoyance, quote the person's words exactly.", "Attach the evidence the checklist names for its kind and mark anything missing as unknown instead of guessing.", "Choose a provisional kind and severity from the guides and compute the fingerprint by the kind definitions' rule. Compare it with any pinned nearby findings and note a match instead of skipping the record.", "Remove credentials, personal data and private paths; say where a secret is, never its value. Set sensitivity to security, and public to false, when the problem could expose data, grant access or spend beyond a grant.", "Set status open. Never delete or rewrite an earlier finding; a correction is a later version or a new finding.", "Return follow-up work the results justify as proposed_verbs and nouns worth creating later as proposed_nouns. Never enqueue them yourself; an authorized requester decides which to run."], "preferred": [], "suggested": [], "discovery_requested": false}, "required_capabilities": ["read permitted noun versions", "write candidate nouns in the requester's scope"], "bounds": {"max_attempts": 2, "max_elapsed_seconds": 600}, "execution": {"reasoning": "authorized_worker", "model_use": "worker_allowance", "inference_allowance": "Existing authorized worker allowance only. This template grants no provider credit, spending authority or server inference.", "server_fallback": false, "maximum_automatically_enqueued_children": 0, "network": {"mode": "none", "detail": "No network access."}, "external_effects": "none"}, "review": {"required": "owning_policy", "self_approval_permitted": false, "publication_permitted": false, "admission_permitted": false}, "instantiation": {"status": "template", "fill_before_enqueue": [], "rule": "Replace each slot with exact NounRef pins, set the params, then recompute the idempotency key with scripts/build_packs.py --instantiate. Enqueue only with your own grants in a queue your owner assigned."}, "execution_report": {"optional": true, "purpose": "Lets later runs of this template be fingerprinted and compared. It is worker reported, not proof.", "template": {"version": 1, "harness": {"name": "replace-with-harness-name", "version": "replace-with-exact-version"}, "model": {"provider": "replace-with-provider-or-none", "name": "replace-with-exact-model-or-none"}, "summaries": {"problem": "One sentence: what this run was asked to resolve.", "input": "One sentence: which pinned inputs were read.", "solution": "One sentence: what was produced or why the outcome was no_change, unknown or blocked."}, "contract": {"input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 6, "maxItems": 6, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": [], "properties": {"evidence_records": {"type": "array", "minItems": 0, "maxItems": 8, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "nearby_findings": {"type": "array", "minItems": 0, "maxItems": 40, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["finding_id", "observation", "where", "noticed_by", "noticed_at", "output_store"], "properties": {"finding_id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "observation": {"type": "string", "minLength": 1, "maxLength": 2000}, "where": {"type": "string", "minLength": 1, "maxLength": 300}, "noticed_by": {"type": "string", "minLength": 1, "maxLength": 120}, "noticed_at": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}", "maxLength": 40}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["finding_recorded", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}}, "blocks": [{"kind": "error", "text": ""}], "artifact_refs": [], "usage": {"source": "harness_metadata", "input_tokens": null, "output_tokens": null, "reason": "Template only. Replace with measured counters or keep null with a reason."}}, "fill_rules": ["Copy contract.input_schema and contract.output_schema unchanged, so every run of this template shares one shape fingerprint.", "Add context_hash, environment_hash and toolchain_hash as lowercase SHA-256 digests when known; all five contract fields together allow exact matching.", "Name the exact harness version, provider and model. Deterministic or human work records the model name as none.", "Put what went wrong in an error block and in output.run_notes.went_wrong. The version-1 report has no fields for what went right, next steps or ideas, so those go in output.run_notes.", "Leave token counts null with a reason unless the harness or provider measured them."], "run_notes_field": "output.run_notes", "shape_sha256": "7d4a3263797c4b0ded24c462c62489b0b31e93453bd6ba064993e63d45a6720b"}, "dimensions": {"determinism": 0.0, "evidence_grounding": 0.0, "token_efficiency": 0.0, "safety_compliance": 0.0, "verification_tier": "unverified"}, "dimension_basis": {"measured": false, "method": "unmeasured_floor", "reason": "Tessera requires these axes, so each is set to its lowest value and the tier is unverified. No quality is claimed. Replace them only with measured values and the evidence that produced them."}, "relations": [{"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.kind-definitions", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.severity-guide", "target_category": "noun.benchmark_suite", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.evidence-checklist", "target_category": "noun.benchmark_suite", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.disclosure-rules", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.record-checks", "target_category": "noun.benchmark_suite", "note": ""}, {"relation": "produces_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.template.finding", "target_category": "noun.seed_hypothesis", "note": "output finding"}], "notes": ["Any worker on any verb, in any pack, can return this verb in its proposed_verbs when it notices a problem; an authorized requester enqueues it."]}}, {"queue": "conformance-seed-packs", "kind": "verb.recover_fault", "effect_class": "write-internal", "priority": 50, "idempotency_key": "seedpack:findings-to-fixes:reproduce:cca591fdbb6b077b142792d210e7e2e15bcae7fe1ef7830e047f2231b7d1724b", "depends_on": [], "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:verb.recover_fault", "pack:findings-to-fixes", "template:reproduce", "claimant:agent", "status:quarantined"], "brief": {"category_id": "verb.recover_fault", "contract": "ta-amps.seed-verb-template.v1", "pack": "findings-to-fixes", "pack_version": "0.1.0", "template_id": "findings-to-fixes.reproduce", "title": "Reproduce the finding", "plain_summary": "Show the problem happening again from the finding alone, at the exact version where it was seen and on the latest one, in the smallest way that still fails, so a fix can be checked against it.", "outcome": "A reproduction record: reproduced, not reproduced or inconclusive, with versions, steps and evidence by digest.", "claimant": "agent", "inputs": {"pinned": [{"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.method", "version": 1, "value_sha256": "145baf45a09abe1e663f8ccce52e87389c3ded7146424ad30af65250737e18ad"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.evidence-checklist", "version": 1, "value_sha256": "907f80e8681a94894c8a03ea07a793aecc1b25ea9fe1f5f04a8096d7c2e5862e"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.disclosure-rules", "version": 1, "value_sha256": "2d1ba0fc92cad5303e036b926cd317eaabf60c4da32fc343a04be4313f7c3d32"}, {"store": "seedpack.decomposition-patterns", "key": "decomposition-patterns.v0.1.0.pattern.reproduce-then-repair", "version": 1, "value_sha256": "068d1011eb1d3888371f0a16f5a2254fd9d3e20615df85e2c7511745e2800f95"}], "slots": {"finding": null, "snapshot": null}, "params": {"version": null, "output_store": "seedpack.findings-to-fixes.outputs"}}, "slot_specs": {"finding": {"category": "noun.seed_hypothesis", "required": true, "many": false, "description": "Pin of the finding."}, "snapshot": {"category": "noun.public_source", "required": false, "many": false, "description": "Pin of a snapshot of the code or page at the version where the problem was seen."}}, "param_specs": {"version": {"description": "The exact commit, release or page address and date where the problem was seen.", "schema": {"type": "string", "minLength": 1, "maxLength": 200}, "required": true}, "output_store": {"description": "Store for the produced nouns. The default is a placeholder; use the store your owner assigned.", "schema": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "required": true, "default": "seedpack.findings-to-fixes.outputs"}}, "input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 4, "maxItems": 4, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "snapshot": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["version", "output_store"], "properties": {"version": {"type": "string", "minLength": 1, "maxLength": 200}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_contract": {"visibility_scope": "surface_only", "allowed_surfaces": [], "write_mode": "create_only", "store_param": "output_store", "key_rule": "findings-to-fixes..[.]", "expected_version": 0, "produces": [{"name": "reproduction", "template": {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.template.reproduction", "version": 1, "value_sha256": "68ac0facc0280b76248b5c0a1fe486701ef905539575dc697370d9d0bc55a5f1"}, "max": 1}], "delivery": "Write produced nouns surface_only under your own authenticated surface, which is the requester's assigned surface, so the requester and that surface's reviewers can read them. Never use public_commons or allowlist other surfaces. Return every produced noun's pin in output.artifacts; add its value when the requester asks for inline delivery."}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["reproduction_recorded", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}, "permitted_outcomes": ["reproduction_recorded", "no_change", "unknown", "blocked"], "outcome_meanings": {"reproduction_recorded": "The declared nouns were produced and every deterministic acceptance check passed.", "no_change": "The evidence does not justify producing or changing anything. Say why.", "unknown": "The question could not be answered with the permitted inputs. List what is missing and what would resolve it.", "blocked": "A required input, permission or capability is missing. Ask one precise question."}, "outcome_requirements": {"reproduction_recorded": ["artifacts"], "no_change": ["no_change_reason"], "unknown": ["unknowns"], "blocked": ["blocked_question"]}, "acceptance_checks": [{"id": "reproduction-matches-template", "check": "The reproduction validates against template.reproduction's schema.", "method": "deterministic"}, {"id": "versions-recorded", "check": "Every run names its exact version, or page address and date.", "method": "deterministic"}, {"id": "result-from-runs", "check": "result is reproduced only when a recorded run shows the problem.", "method": "deterministic"}, {"id": "minimal", "check": "The steps are the smallest that still show the problem.", "method": "judgment"}], "creates": {"nouns": "The worker writes the nouns listed in output_contract.produces and returns their pins.", "verbs": "The worker proposes follow-up verbs in output.proposed_verbs, such as a breakdown into smaller verbs or a research follow-up, with the pins they need. Proposals are never enqueued by the worker; an authorized requester enqueues the ones worth doing."}, "guidance": {"required": ["Verify the pins. If the finding's sensitivity is security, do not reproduce it here: end blocked, ask for the security review pack's scope check and propose its check-scope verb.", "Reproduce at the exact version where it was seen, then on the latest version, and record each run.", "Shrink the steps to the smallest input or command that still shows it. For a visual design flaw, capture screenshots at the named widths and themes; for an annoyance, show each place it appears.", "Make only requests that change nothing, and only to public pages and files the finding names.", "Store logs and screenshots by SHA-256 with secrets removed. If it does not reproduce, say so: not reproduced is a result, not a failure.", "Return follow-up work the results justify as proposed_verbs and nouns worth creating later as proposed_nouns. Never enqueue them yourself; an authorized requester decides which to run."], "preferred": [], "suggested": [], "discovery_requested": false}, "required_capabilities": ["read permitted noun versions", "a sandbox without credentials", "write candidate nouns in the requester's scope"], "bounds": {"max_attempts": 2, "max_elapsed_seconds": 1800}, "execution": {"reasoning": "authorized_worker", "model_use": "worker_allowance", "inference_allowance": "Existing authorized worker allowance only. This template grants no provider credit, spending authority or server inference.", "server_fallback": false, "maximum_automatically_enqueued_children": 0, "network": {"mode": "read_only", "detail": "Requests that change nothing, only to public pages and files named in the finding, and package downloads for a sandbox build. Never to a system named in a security finding."}, "external_effects": "none"}, "review": {"required": "owning_policy", "self_approval_permitted": false, "publication_permitted": false, "admission_permitted": false}, "instantiation": {"status": "template", "fill_before_enqueue": ["finding"], "rule": "Replace each slot with exact NounRef pins, set the params, then recompute the idempotency key with scripts/build_packs.py --instantiate. Enqueue only with your own grants in a queue your owner assigned."}, "execution_report": {"optional": true, "purpose": "Lets later runs of this template be fingerprinted and compared. It is worker reported, not proof.", "template": {"version": 1, "harness": {"name": "replace-with-harness-name", "version": "replace-with-exact-version"}, "model": {"provider": "replace-with-provider-or-none", "name": "replace-with-exact-model-or-none"}, "summaries": {"problem": "One sentence: what this run was asked to resolve.", "input": "One sentence: which pinned inputs were read.", "solution": "One sentence: what was produced or why the outcome was no_change, unknown or blocked."}, "contract": {"input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 4, "maxItems": 4, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "snapshot": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["version", "output_store"], "properties": {"version": {"type": "string", "minLength": 1, "maxLength": 200}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["reproduction_recorded", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}}, "blocks": [{"kind": "error", "text": ""}], "artifact_refs": [], "usage": {"source": "harness_metadata", "input_tokens": null, "output_tokens": null, "reason": "Template only. Replace with measured counters or keep null with a reason."}}, "fill_rules": ["Copy contract.input_schema and contract.output_schema unchanged, so every run of this template shares one shape fingerprint.", "Add context_hash, environment_hash and toolchain_hash as lowercase SHA-256 digests when known; all five contract fields together allow exact matching.", "Name the exact harness version, provider and model. Deterministic or human work records the model name as none.", "Put what went wrong in an error block and in output.run_notes.went_wrong. The version-1 report has no fields for what went right, next steps or ideas, so those go in output.run_notes.", "Leave token counts null with a reason unless the harness or provider measured them."], "run_notes_field": "output.run_notes", "shape_sha256": "5b07acb21cee3c0458d07a163cebe3119554d87975ecba6cd35b70bbf270f39c"}, "dimensions": {"determinism": 0.0, "evidence_grounding": 0.0, "token_efficiency": 0.0, "safety_compliance": 0.0, "verification_tier": "unverified"}, "dimension_basis": {"measured": false, "method": "unmeasured_floor", "reason": "Tessera requires these axes, so each is set to its lowest value and the tier is unverified. No quality is claimed. Replace them only with measured values and the evidence that produced them."}, "relations": [{"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.evidence-checklist", "target_category": "noun.benchmark_suite", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.disclosure-rules", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.decomposition-patterns/decomposition-patterns.v0.1.0.pattern.reproduce-then-repair", "target_category": "noun.reflex_procedure", "note": ""}, {"relation": "produces_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.template.reproduction", "target_category": "noun.eval_run", "note": "output reproduction"}], "follows_templates": ["findings-to-fixes.record-finding"]}}, {"queue": "conformance-seed-packs", "kind": "verb.situate", "effect_class": "write-internal", "priority": 50, "idempotency_key": "seedpack:findings-to-fixes:triage:d902f85cda1cf8a47a9e1a39e841d8875a246f2413a07cd2a924b7ca3e18cd99", "depends_on": [], "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:verb.situate", "pack:findings-to-fixes", "template:triage", "claimant:agent", "status:quarantined"], "brief": {"category_id": "verb.situate", "contract": "ta-amps.seed-verb-template.v1", "pack": "findings-to-fixes", "pack_version": "0.1.0", "template_id": "findings-to-fixes.triage", "title": "Triage the finding", "plain_summary": "Fold duplicates together by fingerprint, then set the finding's kind, severity and sensitivity from the guides and choose its route. Rerun it when a reproduction, fix, verification or guard points at the finding, to link them and move its status forward.", "outcome": "A new version of the finding with kind, severity, sensitivity, duplicates and route set, or marked as a duplicate of an older finding.", "claimant": "agent", "inputs": {"pinned": [{"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.method", "version": 1, "value_sha256": "145baf45a09abe1e663f8ccce52e87389c3ded7146424ad30af65250737e18ad"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.kind-definitions", "version": 1, "value_sha256": "472d8115b15f03e086fb88b34b28357e97e2cec1830babb6cfb9c01ed4f80598"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.severity-guide", "version": 1, "value_sha256": "01285ba591bde6c9f30d768030de1d3c774bde33cf0c9a705f6a90bc128f94bd"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.disclosure-rules", "version": 1, "value_sha256": "2d1ba0fc92cad5303e036b926cd317eaabf60c4da32fc343a04be4313f7c3d32"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.record-checks", "version": 1, "value_sha256": "88bcb05c5c2cfe113f448107323a35f5cf68a447b55b278bfdba61eadebdb586"}], "slots": {"finding": null, "other_findings": [], "runs": [], "fixes": [], "guards": []}, "params": {"output_store": "seedpack.findings-to-fixes.outputs"}}, "slot_specs": {"finding": {"category": "noun.seed_hypothesis", "required": true, "many": false, "description": "Pin of the current version of the finding to triage."}, "other_findings": {"category": "noun.seed_hypothesis", "required": false, "many": true, "description": "Pins of findings that may be duplicates, such as those with the same component."}, "runs": {"category": "noun.eval_run", "required": false, "many": true, "description": "Pins of reproductions and verifications that point at this finding."}, "fixes": {"category": "noun.code_node", "required": false, "many": true, "description": "Pins of fixes made for this finding."}, "guards": {"category": "noun.benchmark_suite", "required": false, "many": true, "description": "Pins of regression guards for this finding."}}, "param_specs": {"output_store": {"description": "Store for the produced nouns. The default is a placeholder; use the store your owner assigned.", "schema": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "required": true, "default": "seedpack.findings-to-fixes.outputs"}}, "input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 5, "maxItems": 5, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "other_findings": {"type": "array", "minItems": 0, "maxItems": 40, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "runs": {"type": "array", "minItems": 0, "maxItems": 8, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "fixes": {"type": "array", "minItems": 0, "maxItems": 4, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "guards": {"type": "array", "minItems": 0, "maxItems": 4, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["output_store"], "properties": {"output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_contract": {"visibility_scope": "surface_only", "allowed_surfaces": [], "write_mode": "compare_and_set", "target_slot": "finding", "expected_version": {"from_slot": "finding"}, "update_rule": "Write a new version of the noun pinned in slot 'finding', in its own store and key, with its pinned version as the expected version. A version conflict means re-read and stop.", "produces": [{"name": "finding", "template": {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.template.finding", "version": 1, "value_sha256": "05a0e9ba4bc9bc4d900146290e39155ceadb799d334a47180f354dd988774a80"}, "max": 1}], "delivery": "Write produced nouns surface_only under your own authenticated surface, which is the requester's assigned surface, so the requester and that surface's reviewers can read them. Never use public_commons or allowlist other surfaces. Return every produced noun's pin in output.artifacts; add its value when the requester asks for inline delivery."}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["finding_triaged", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}, "permitted_outcomes": ["finding_triaged", "no_change", "unknown", "blocked"], "outcome_meanings": {"finding_triaged": "The declared nouns were produced and every deterministic acceptance check passed.", "no_change": "The evidence does not justify producing or changing anything. Say why.", "unknown": "The question could not be answered with the permitted inputs. List what is missing and what would resolve it.", "blocked": "A required input, permission or capability is missing. Ask one precise question."}, "outcome_requirements": {"finding_triaged": ["artifacts", "checks"], "no_change": ["no_change_reason"], "unknown": ["unknowns"], "blocked": ["blocked_question"]}, "acceptance_checks": [{"id": "finding-matches-template", "check": "The new version validates against template.finding's schema.", "method": "deterministic"}, {"id": "record-checks-pass", "check": "The new version passes every deterministic check in record-checks.", "method": "deterministic"}, {"id": "duplicates-pinned", "check": "Every finding listed as a duplicate, or named in duplicate_of, is among the pinned findings.", "method": "deterministic"}, {"id": "not-closed-here", "check": "The status is not closed or wont_fix.", "method": "deterministic"}, {"id": "cas-update", "check": "The write used the pinned version as its expected version.", "method": "deterministic"}, {"id": "reasons-cite-guides", "check": "The kind and severity reasons cite the guides.", "method": "judgment"}], "creates": {"nouns": "The worker writes the nouns listed in output_contract.produces and returns their pins.", "verbs": "The worker proposes follow-up verbs in output.proposed_verbs, such as a breakdown into smaller verbs or a research follow-up, with the pins they need. Proposals are never enqueued by the worker; an authorized requester enqueues the ones worth doing."}, "guidance": {"required": ["Verify the pins. Compare fingerprints: an equal fingerprint is a duplicate; the same kind and component with a different symptom is a judgment call, so say why you folded it in or kept it apart.", "If an older finding has the same fingerprint, mark this one as its duplicate and propose a triage of the older finding with this one's evidence. Otherwise list the duplicates here, copy their evidence references in and propose closing each one as a duplicate.", "Set kind and severity from the guides with a reason for each. Keep the noticer's values when they fit, and never lower a severity to make a finding look smaller.", "Set sensitivity and the route: a security finding stays private and goes to the security review pack, a documentation finding can go to the docs improvement pack, and an annoyance whose fix is a matter of taste is marked for a person's choice.", "On a rerun, link the pinned runs, fixes and guards and move the status forward: in_progress, fixed, fixed_not_deployed when the fix is merged but not deployed where the problem was seen, or verified. Never set closed or wont_fix here.", "Write one new version of the pinned finding with its current version as the compare-and-set expectation; a version conflict means re-read and stop.", "Return follow-up work the results justify as proposed_verbs and nouns worth creating later as proposed_nouns. Never enqueue them yourself; an authorized requester decides which to run."], "preferred": [], "suggested": [], "discovery_requested": false}, "required_capabilities": ["read permitted noun versions", "write candidate nouns in the requester's scope"], "bounds": {"max_attempts": 2, "max_elapsed_seconds": 900}, "execution": {"reasoning": "authorized_worker", "model_use": "worker_allowance", "inference_allowance": "Existing authorized worker allowance only. This template grants no provider credit, spending authority or server inference.", "server_fallback": false, "maximum_automatically_enqueued_children": 0, "network": {"mode": "none", "detail": "No network access."}, "external_effects": "none"}, "review": {"required": "owning_policy", "self_approval_permitted": false, "publication_permitted": false, "admission_permitted": false}, "instantiation": {"status": "template", "fill_before_enqueue": ["finding"], "rule": "Replace each slot with exact NounRef pins, set the params, then recompute the idempotency key with scripts/build_packs.py --instantiate. Enqueue only with your own grants in a queue your owner assigned."}, "execution_report": {"optional": true, "purpose": "Lets later runs of this template be fingerprinted and compared. It is worker reported, not proof.", "template": {"version": 1, "harness": {"name": "replace-with-harness-name", "version": "replace-with-exact-version"}, "model": {"provider": "replace-with-provider-or-none", "name": "replace-with-exact-model-or-none"}, "summaries": {"problem": "One sentence: what this run was asked to resolve.", "input": "One sentence: which pinned inputs were read.", "solution": "One sentence: what was produced or why the outcome was no_change, unknown or blocked."}, "contract": {"input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 5, "maxItems": 5, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "other_findings": {"type": "array", "minItems": 0, "maxItems": 40, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "runs": {"type": "array", "minItems": 0, "maxItems": 8, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "fixes": {"type": "array", "minItems": 0, "maxItems": 4, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "guards": {"type": "array", "minItems": 0, "maxItems": 4, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["output_store"], "properties": {"output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["finding_triaged", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}}, "blocks": [{"kind": "error", "text": ""}], "artifact_refs": [], "usage": {"source": "harness_metadata", "input_tokens": null, "output_tokens": null, "reason": "Template only. Replace with measured counters or keep null with a reason."}}, "fill_rules": ["Copy contract.input_schema and contract.output_schema unchanged, so every run of this template shares one shape fingerprint.", "Add context_hash, environment_hash and toolchain_hash as lowercase SHA-256 digests when known; all five contract fields together allow exact matching.", "Name the exact harness version, provider and model. Deterministic or human work records the model name as none.", "Put what went wrong in an error block and in output.run_notes.went_wrong. The version-1 report has no fields for what went right, next steps or ideas, so those go in output.run_notes.", "Leave token counts null with a reason unless the harness or provider measured them."], "run_notes_field": "output.run_notes", "shape_sha256": "a46cf74fdeca9ebb816fa66d2a4e81d733b95640b9c7870bc79aff4b42653cf0"}, "dimensions": {"determinism": 0.0, "evidence_grounding": 0.0, "token_efficiency": 0.0, "safety_compliance": 0.0, "verification_tier": "unverified"}, "dimension_basis": {"measured": false, "method": "unmeasured_floor", "reason": "Tessera requires these axes, so each is set to its lowest value and the tier is unverified. No quality is claimed. Replace them only with measured values and the evidence that produced them."}, "relations": [{"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.kind-definitions", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.severity-guide", "target_category": "noun.benchmark_suite", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.disclosure-rules", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.record-checks", "target_category": "noun.benchmark_suite", "note": ""}, {"relation": "produces_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.template.finding", "target_category": "noun.seed_hypothesis", "note": "output finding"}], "follows_templates": ["findings-to-fixes.record-finding", "findings-to-fixes.reproduce"], "notes": ["This verb updates the finding through compare-and-set. Each run writes one new version, and every earlier version stays readable, so failures stay on the record."]}}, {"queue": "conformance-seed-packs", "kind": "verb.generate_seed", "effect_class": "write-internal", "priority": 50, "idempotency_key": "seedpack:findings-to-fixes:propose-fix:66e6f881fc051e375dfa19f0ca4d1501d7e6c3d776a46e6197f01ceeccca67cc", "depends_on": [], "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:verb.generate_seed", "pack:findings-to-fixes", "template:propose-fix", "claimant:agent", "status:quarantined"], "brief": {"category_id": "verb.generate_seed", "contract": "ta-amps.seed-verb-template.v1", "pack": "findings-to-fixes", "pack_version": "0.1.0", "template_id": "findings-to-fixes.propose-fix", "title": "Propose a fix", "plain_summary": "From the finding and its reproduction, propose the smallest fix that removes the cause, with the guard that would show it works. For an annoyance or another matter of taste, offer two or three options for a person to choose between.", "outcome": "A fix proposal with one to three options, the cause it addresses and each option's guard, plus a palette brief when a person's taste call is needed.", "claimant": "agent", "inputs": {"pinned": [{"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.method", "version": 1, "value_sha256": "145baf45a09abe1e663f8ccce52e87389c3ded7146424ad30af65250737e18ad"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.kind-definitions", "version": 1, "value_sha256": "472d8115b15f03e086fb88b34b28357e97e2cec1830babb6cfb9c01ed4f80598"}, {"store": "seedpack.taste-palettes", "key": "taste-palettes.v0.1.0.method", "version": 1, "value_sha256": "3fa6926cf500ce99be23cee0d29e86c201e21648266a4574fe7bd1247cedcd9c"}, {"store": "seedpack.decomposition-patterns", "key": "decomposition-patterns.v0.1.0.pattern.human-checkpoint", "version": 1, "value_sha256": "0cbd9a839311f80342e34966f11bbdc8404444603b20093c031e461c064534ea"}], "slots": {"finding": null, "reproduction": null, "snapshot": null, "earlier_findings": [], "survey": null, "alternatives": null}, "params": {"output_store": "seedpack.findings-to-fixes.outputs"}}, "slot_specs": {"finding": {"category": "noun.seed_hypothesis", "required": true, "many": false, "description": "Pin of the triaged finding."}, "reproduction": {"category": "noun.eval_run", "required": false, "many": false, "description": "Pin of its reproduction."}, "snapshot": {"category": "noun.public_source", "required": false, "many": false, "description": "Pin of a snapshot of the code or page."}, "earlier_findings": {"category": "noun.seed_hypothesis", "required": false, "many": true, "description": "Pins of earlier findings for the same part, so the proposal does not repeat a fix that failed."}, "survey": {"category": "noun.public_source", "required": false, "many": false, "description": "Pin of a survey of what already exists for this fix, from the prior art and alternatives pack's survey-existing verb."}, "alternatives": {"category": "noun.seed_hypothesis", "required": false, "many": false, "description": "Pin of the alternatives that pack's research-alternatives verb laid out for this fix, including reuse as is, adapt and do nothing."}}, "param_specs": {"output_store": {"description": "Store for the produced nouns. The default is a placeholder; use the store your owner assigned.", "schema": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "required": true, "default": "seedpack.findings-to-fixes.outputs"}}, "input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 4, "maxItems": 4, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "reproduction": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "snapshot": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "earlier_findings": {"type": "array", "minItems": 0, "maxItems": 20, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "survey": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "alternatives": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["output_store"], "properties": {"output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_contract": {"visibility_scope": "surface_only", "allowed_surfaces": [], "write_mode": "create_only", "store_param": "output_store", "key_rule": "findings-to-fixes..[.]", "expected_version": 0, "produces": [{"name": "fix_proposal", "template": {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.template.fix-proposal", "version": 1, "value_sha256": "0af7756ecfb489f7e348da59823f9c430d6bc2c40f64e27d7d42c6a7193bb730"}, "max": 1}, {"name": "palette_brief", "template": {"store": "seedpack.taste-palettes", "key": "taste-palettes.v0.1.0.template.brief", "version": 1, "value_sha256": "9fa5e93e894305e8e7d177dc74975dd157b713f8ef5d5e6382c3cba4da2d54a6"}, "max": 1}], "delivery": "Write produced nouns surface_only under your own authenticated surface, which is the requester's assigned surface, so the requester and that surface's reviewers can read them. Never use public_commons or allowlist other surfaces. Return every produced noun's pin in output.artifacts; add its value when the requester asks for inline delivery."}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["fix_proposed", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}, "permitted_outcomes": ["fix_proposed", "no_change", "unknown", "blocked"], "outcome_meanings": {"fix_proposed": "The declared nouns were produced and every deterministic acceptance check passed.", "no_change": "The evidence does not justify producing or changing anything. Say why.", "unknown": "The question could not be answered with the permitted inputs. List what is missing and what would resolve it.", "blocked": "A required input, permission or capability is missing. Ask one precise question."}, "outcome_requirements": {"fix_proposed": ["artifacts"], "no_change": ["no_change_reason"], "unknown": ["unknowns"], "blocked": ["blocked_question"]}, "acceptance_checks": [{"id": "proposal-matches-template", "check": "The proposal validates against template.fix-proposal's schema.", "method": "deterministic"}, {"id": "options-for-taste", "check": "A taste call has two or three options and no recommended option.", "method": "deterministic"}, {"id": "guard-per-option", "check": "Every option names the guard that would fail without it.", "method": "deterministic"}, {"id": "survey-for-build", "check": "Every option marked build cites the pinned survey, or survey-existing is among the proposed verbs.", "method": "deterministic"}, {"id": "brief-for-taste", "check": "A palette brief is produced exactly when the proposal is a taste call, and it validates against the taste palettes brief template.", "method": "deterministic"}, {"id": "cause-not-symptom", "check": "The options address the cause the reproduction shows.", "method": "judgment"}], "creates": {"nouns": "The worker writes the nouns listed in output_contract.produces and returns their pins.", "verbs": "The worker proposes follow-up verbs in output.proposed_verbs, such as a breakdown into smaller verbs or a research follow-up, with the pins they need. Proposals are never enqueued by the worker; an authorized requester enqueues the ones worth doing."}, "guidance": {"required": ["Verify the pins. Name the cause, not just the symptom, and read the pinned earlier findings so the proposal does not repeat a fix that already failed.", "Prefer the smallest change that removes the cause where it lives. When the same cause lives in several copies, say so and include the shared fix as an option.", "Mark each option repair or build. A repair restores something to its own tested contract. For a build, such as a new shared tool or check, base the option on the pinned survey and alternatives and prefer reusing or adapting what exists; without them, propose the prior art and alternatives pack's survey-existing and research-alternatives verbs first.", "For each option, say what changes, what could break and which guard would fail without it and pass with it.", "For an annoyance or any other matter of taste, offer two or three options with plain differences and no recommendation, and write a palette brief from the taste palettes template so a person chooses; never choose on their behalf.", "When the fix is too large for one verb, propose a breakdown through the decomposition patterns pack instead of one large fix.", "If the fix needs an authority nobody has given, such as a new spending allowance or a changed limit, end blocked with that one question.", "Return follow-up work the results justify as proposed_verbs and nouns worth creating later as proposed_nouns. Never enqueue them yourself; an authorized requester decides which to run."], "preferred": [], "suggested": [], "discovery_requested": false}, "required_capabilities": ["read permitted noun versions", "write candidate nouns in the requester's scope"], "bounds": {"max_attempts": 2, "max_elapsed_seconds": 1200}, "execution": {"reasoning": "authorized_worker", "model_use": "worker_allowance", "inference_allowance": "Existing authorized worker allowance only. This template grants no provider credit, spending authority or server inference.", "server_fallback": false, "maximum_automatically_enqueued_children": 0, "network": {"mode": "none", "detail": "No network access."}, "external_effects": "none"}, "review": {"required": "owning_policy", "self_approval_permitted": false, "publication_permitted": false, "admission_permitted": false}, "instantiation": {"status": "template", "fill_before_enqueue": ["finding"], "rule": "Replace each slot with exact NounRef pins, set the params, then recompute the idempotency key with scripts/build_packs.py --instantiate. Enqueue only with your own grants in a queue your owner assigned."}, "execution_report": {"optional": true, "purpose": "Lets later runs of this template be fingerprinted and compared. It is worker reported, not proof.", "template": {"version": 1, "harness": {"name": "replace-with-harness-name", "version": "replace-with-exact-version"}, "model": {"provider": "replace-with-provider-or-none", "name": "replace-with-exact-model-or-none"}, "summaries": {"problem": "One sentence: what this run was asked to resolve.", "input": "One sentence: which pinned inputs were read.", "solution": "One sentence: what was produced or why the outcome was no_change, unknown or blocked."}, "contract": {"input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 4, "maxItems": 4, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "reproduction": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "snapshot": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "earlier_findings": {"type": "array", "minItems": 0, "maxItems": 20, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "survey": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "alternatives": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["output_store"], "properties": {"output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["fix_proposed", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}}, "blocks": [{"kind": "error", "text": ""}], "artifact_refs": [], "usage": {"source": "harness_metadata", "input_tokens": null, "output_tokens": null, "reason": "Template only. Replace with measured counters or keep null with a reason."}}, "fill_rules": ["Copy contract.input_schema and contract.output_schema unchanged, so every run of this template shares one shape fingerprint.", "Add context_hash, environment_hash and toolchain_hash as lowercase SHA-256 digests when known; all five contract fields together allow exact matching.", "Name the exact harness version, provider and model. Deterministic or human work records the model name as none.", "Put what went wrong in an error block and in output.run_notes.went_wrong. The version-1 report has no fields for what went right, next steps or ideas, so those go in output.run_notes.", "Leave token counts null with a reason unless the harness or provider measured them."], "run_notes_field": "output.run_notes", "shape_sha256": "65b35127e87a2bc2af6c2779bdc112510526550d727399435961c1f273919f7a"}, "dimensions": {"determinism": 0.0, "evidence_grounding": 0.0, "token_efficiency": 0.0, "safety_compliance": 0.0, "verification_tier": "unverified"}, "dimension_basis": {"measured": false, "method": "unmeasured_floor", "reason": "Tessera requires these axes, so each is set to its lowest value and the tier is unverified. No quality is claimed. Replace them only with measured values and the evidence that produced them."}, "relations": [{"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.kind-definitions", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.taste-palettes/taste-palettes.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.decomposition-patterns/decomposition-patterns.v0.1.0.pattern.human-checkpoint", "target_category": "noun.reflex_procedure", "note": ""}, {"relation": "produces_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.template.fix-proposal", "target_category": "noun.seed_hypothesis", "note": "output fix_proposal"}, {"relation": "produces_noun", "target_id": "seedpack.taste-palettes/taste-palettes.v0.1.0.template.brief", "target_category": "noun.seed_hypothesis", "note": "output palette_brief"}], "follows_templates": ["findings-to-fixes.triage", "prior-art-and-alternatives.survey-existing", "prior-art-and-alternatives.research-alternatives"]}}, {"queue": "conformance-seed-packs", "kind": "verb.solve_draft", "effect_class": "write-internal", "priority": 50, "idempotency_key": "seedpack:findings-to-fixes:fix:69995bd1d2a48a3fbebc24f3cc3f2a02409dd2d0178f19f125c237243143d0af", "depends_on": [], "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:verb.solve_draft", "pack:findings-to-fixes", "template:fix", "claimant:agent", "status:quarantined"], "brief": {"category_id": "verb.solve_draft", "contract": "ta-amps.seed-verb-template.v1", "pack": "findings-to-fixes", "pack_version": "0.1.0", "template_id": "findings-to-fixes.fix", "title": "Make the fix", "plain_summary": "Make the chosen option in a local copy: first a test or check that fails for the finding's reason, then the smallest change that makes it pass, with the existing checks still passing, stored by digest.", "outcome": "A fix record with the patch digest, the changed files, the test that failed before and passed after and the suite result; landing it is the owner's separate act.", "claimant": "agent", "inputs": {"pinned": [{"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.method", "version": 1, "value_sha256": "145baf45a09abe1e663f8ccce52e87389c3ded7146424ad30af65250737e18ad"}, {"store": "seedpack.decomposition-patterns", "key": "decomposition-patterns.v0.1.0.pattern.reproduce-then-repair", "version": 1, "value_sha256": "068d1011eb1d3888371f0a16f5a2254fd9d3e20615df85e2c7511745e2800f95"}], "slots": {"finding": null, "fix_proposal": null, "reproduction": null, "choice": null, "snapshot": null}, "params": {"option": null, "output_store": "seedpack.findings-to-fixes.outputs"}}, "slot_specs": {"finding": {"category": "noun.seed_hypothesis", "required": true, "many": false, "description": "Pin of the finding."}, "fix_proposal": {"category": "noun.seed_hypothesis", "required": true, "many": false, "description": "Pin of the fix proposal."}, "reproduction": {"category": "noun.eval_run", "required": false, "many": false, "description": "Pin of the reproduction."}, "choice": {"category": "noun.seed_hypothesis", "required": false, "many": false, "description": "Pin of the person's recorded choice when the proposal was a taste call."}, "snapshot": {"category": "noun.public_source", "required": false, "many": false, "description": "Pin of a snapshot of the code or page."}}, "param_specs": {"option": {"description": "The option to make, A to C; for a taste call, the option the person chose.", "schema": {"type": "string", "pattern": "^[A-C]$"}, "required": true}, "output_store": {"description": "Store for the produced nouns. The default is a placeholder; use the store your owner assigned.", "schema": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "required": true, "default": "seedpack.findings-to-fixes.outputs"}}, "input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding", "fix_proposal"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "fix_proposal": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "reproduction": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "choice": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "snapshot": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["option", "output_store"], "properties": {"option": {"type": "string", "pattern": "^[A-C]$"}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_contract": {"visibility_scope": "surface_only", "allowed_surfaces": [], "write_mode": "create_only", "store_param": "output_store", "key_rule": "findings-to-fixes..[.]", "expected_version": 0, "produces": [{"name": "fix", "template": {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.template.fix", "version": 1, "value_sha256": "96aac9621ae0f498f7ca8986004d330241711842641f6fa5b6a67857b08c8bde"}, "max": 1}], "delivery": "Write produced nouns surface_only under your own authenticated surface, which is the requester's assigned surface, so the requester and that surface's reviewers can read them. Never use public_commons or allowlist other surfaces. Return every produced noun's pin in output.artifacts; add its value when the requester asks for inline delivery."}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["fix_ready", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}, "permitted_outcomes": ["fix_ready", "no_change", "unknown", "blocked"], "outcome_meanings": {"fix_ready": "The declared nouns were produced and every deterministic acceptance check passed.", "no_change": "The evidence does not justify producing or changing anything. Say why.", "unknown": "The question could not be answered with the permitted inputs. List what is missing and what would resolve it.", "blocked": "A required input, permission or capability is missing. Ask one precise question."}, "outcome_requirements": {"fix_ready": ["artifacts"], "no_change": ["no_change_reason"], "unknown": ["unknowns"], "blocked": ["blocked_question"]}, "acceptance_checks": [{"id": "fix-matches-template", "check": "The fix validates against template.fix's schema.", "method": "deterministic"}, {"id": "fails-then-passes", "check": "The added test failed on the unfixed copy and passed after the change, in recorded runs.", "method": "deterministic"}, {"id": "suite-passes", "check": "suite_passed is true from an actual run.", "method": "deterministic"}, {"id": "no-weakened-checks", "check": "No existing test or check was deleted, skipped or loosened.", "method": "deterministic"}, {"id": "smallest", "check": "The change is the smallest that removes the cause.", "method": "judgment"}], "creates": {"nouns": "The worker writes the nouns listed in output_contract.produces and returns their pins.", "verbs": "The worker proposes follow-up verbs in output.proposed_verbs, such as a breakdown into smaller verbs or a research follow-up, with the pins they need. Proposals are never enqueued by the worker; an authorized requester enqueues the ones worth doing."}, "guidance": {"required": ["Verify the pins. For a taste call, make only the option the person chose; a choice of none ends no_change.", "Write the test or check first and run it on the unfixed copy: it must fail for the finding's reason. If it cannot be made to fail, end unknown and say what is missing.", "Make the smallest change that makes it pass, then run the existing checks. Never delete, skip or loosen another check to get a pass.", "For a visual design flaw, capture screenshots after the change at the same widths and themes as the finding.", "Store the patch by digest in the requester's scope. Do not push, merge or open a pull request; landing the fix is the owner's separate act.", "Return follow-up work the results justify as proposed_verbs and nouns worth creating later as proposed_nouns. Never enqueue them yourself; an authorized requester decides which to run."], "preferred": [], "suggested": [], "discovery_requested": false}, "required_capabilities": ["read permitted noun versions", "a sandbox without credentials", "write candidate nouns in the requester's scope"], "bounds": {"max_attempts": 2, "max_elapsed_seconds": 2400}, "execution": {"reasoning": "authorized_worker", "model_use": "worker_allowance", "inference_allowance": "Existing authorized worker allowance only. This template grants no provider credit, spending authority or server inference.", "server_fallback": false, "maximum_automatically_enqueued_children": 0, "network": {"mode": "sandbox_packages", "detail": "Package installs inside the sandbox to run the existing checks. No requests to any deployed system."}, "external_effects": "none"}, "review": {"required": "owning_policy", "self_approval_permitted": false, "publication_permitted": false, "admission_permitted": false}, "instantiation": {"status": "template", "fill_before_enqueue": ["finding", "fix_proposal"], "rule": "Replace each slot with exact NounRef pins, set the params, then recompute the idempotency key with scripts/build_packs.py --instantiate. Enqueue only with your own grants in a queue your owner assigned."}, "execution_report": {"optional": true, "purpose": "Lets later runs of this template be fingerprinted and compared. It is worker reported, not proof.", "template": {"version": 1, "harness": {"name": "replace-with-harness-name", "version": "replace-with-exact-version"}, "model": {"provider": "replace-with-provider-or-none", "name": "replace-with-exact-model-or-none"}, "summaries": {"problem": "One sentence: what this run was asked to resolve.", "input": "One sentence: which pinned inputs were read.", "solution": "One sentence: what was produced or why the outcome was no_change, unknown or blocked."}, "contract": {"input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding", "fix_proposal"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "fix_proposal": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "reproduction": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "choice": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "snapshot": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["option", "output_store"], "properties": {"option": {"type": "string", "pattern": "^[A-C]$"}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["fix_ready", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}}, "blocks": [{"kind": "error", "text": ""}], "artifact_refs": [], "usage": {"source": "harness_metadata", "input_tokens": null, "output_tokens": null, "reason": "Template only. Replace with measured counters or keep null with a reason."}}, "fill_rules": ["Copy contract.input_schema and contract.output_schema unchanged, so every run of this template shares one shape fingerprint.", "Add context_hash, environment_hash and toolchain_hash as lowercase SHA-256 digests when known; all five contract fields together allow exact matching.", "Name the exact harness version, provider and model. Deterministic or human work records the model name as none.", "Put what went wrong in an error block and in output.run_notes.went_wrong. The version-1 report has no fields for what went right, next steps or ideas, so those go in output.run_notes.", "Leave token counts null with a reason unless the harness or provider measured them."], "run_notes_field": "output.run_notes", "shape_sha256": "1dafb48799c6a46ba2b472706e9da2a105e71d5b43a57e4c242bac13c69c07cb"}, "dimensions": {"determinism": 0.0, "evidence_grounding": 0.0, "token_efficiency": 0.0, "safety_compliance": 0.0, "verification_tier": "unverified"}, "dimension_basis": {"measured": false, "method": "unmeasured_floor", "reason": "Tessera requires these axes, so each is set to its lowest value and the tier is unverified. No quality is claimed. Replace them only with measured values and the evidence that produced them."}, "relations": [{"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.decomposition-patterns/decomposition-patterns.v0.1.0.pattern.reproduce-then-repair", "target_category": "noun.reflex_procedure", "note": ""}, {"relation": "produces_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.template.fix", "target_category": "noun.code_node", "note": "output fix"}], "follows_templates": ["findings-to-fixes.propose-fix", "taste-palettes.record-choice"]}}, {"queue": "conformance-seed-packs", "kind": "verb.verify_gate", "effect_class": "write-internal", "priority": 50, "idempotency_key": "seedpack:findings-to-fixes:verify-fix:d3e15f5d0a02d27a247f0f729dc014bd48af3c269ad2c6f5aaec122d3fe2618d", "depends_on": [], "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:verb.verify_gate", "pack:findings-to-fixes", "template:verify-fix", "claimant:agent", "status:quarantined"], "brief": {"category_id": "verb.verify_gate", "contract": "ta-amps.seed-verb-template.v1", "pack": "findings-to-fixes", "pack_version": "0.1.0", "template_id": "findings-to-fixes.verify-fix", "title": "Verify the fix independently", "plain_summary": "A different worker than the one who made the fix reruns the reproduction on the unfixed and the fixed versions, where the problem was seen when possible, and checks that the problem is gone without new ones.", "outcome": "A verification: fix_verified, fix_failed or inconclusive, with both runs and where they ran.", "claimant": "agent", "inputs": {"pinned": [{"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.method", "version": 1, "value_sha256": "145baf45a09abe1e663f8ccce52e87389c3ded7146424ad30af65250737e18ad"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.evidence-checklist", "version": 1, "value_sha256": "907f80e8681a94894c8a03ea07a793aecc1b25ea9fe1f5f04a8096d7c2e5862e"}], "slots": {"finding": null, "fix": null, "reproduction": null}, "params": {"where_checked": null, "output_store": "seedpack.findings-to-fixes.outputs"}}, "slot_specs": {"finding": {"category": "noun.seed_hypothesis", "required": true, "many": false, "description": "Pin of the finding."}, "fix": {"category": "noun.code_node", "required": true, "many": false, "description": "Pin of the fix."}, "reproduction": {"category": "noun.eval_run", "required": false, "many": false, "description": "Pin of the reproduction."}}, "param_specs": {"where_checked": {"description": "Where this verification runs. Use where the problem was seen when you can.", "schema": {"type": "string", "enum": ["local_copy", "merged", "deployed"]}, "required": true}, "output_store": {"description": "Store for the produced nouns. The default is a placeholder; use the store your owner assigned.", "schema": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "required": true, "default": "seedpack.findings-to-fixes.outputs"}}, "input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding", "fix"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "fix": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "reproduction": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["where_checked", "output_store"], "properties": {"where_checked": {"type": "string", "enum": ["local_copy", "merged", "deployed"]}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_contract": {"visibility_scope": "surface_only", "allowed_surfaces": [], "write_mode": "create_only", "store_param": "output_store", "key_rule": "findings-to-fixes..[.]", "expected_version": 0, "produces": [{"name": "verification", "template": {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.template.verification", "version": 1, "value_sha256": "7fe1b1eeea589df33ebb8e018d40ba853a705d6c0d81eac38ea1feaa036c8f20"}, "max": 1}], "delivery": "Write produced nouns surface_only under your own authenticated surface, which is the requester's assigned surface, so the requester and that surface's reviewers can read them. Never use public_commons or allowlist other surfaces. Return every produced noun's pin in output.artifacts; add its value when the requester asks for inline delivery."}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["verification_recorded", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}, "permitted_outcomes": ["verification_recorded", "no_change", "unknown", "blocked"], "outcome_meanings": {"verification_recorded": "The declared nouns were produced and every deterministic acceptance check passed.", "no_change": "The evidence does not justify producing or changing anything. Say why.", "unknown": "The question could not be answered with the permitted inputs. List what is missing and what would resolve it.", "blocked": "A required input, permission or capability is missing. Ask one precise question."}, "outcome_requirements": {"verification_recorded": ["artifacts", "checks"], "no_change": ["no_change_reason"], "unknown": ["unknowns"], "blocked": ["blocked_question"]}, "acceptance_checks": [{"id": "verification-matches-template", "check": "The verification validates against template.verification's schema.", "method": "deterministic"}, {"id": "distinct-verifier", "check": "The verifying key differs from the keys that wrote the fix and its proposal.", "method": "deterministic"}, {"id": "both-versions-run", "check": "Recorded runs exist for the unfixed and the fixed versions.", "method": "deterministic"}, {"id": "verdict-follows-runs", "check": "fix_verified only when the unfixed run shows the problem and the fixed run does not.", "method": "deterministic"}], "creates": {"nouns": "The worker writes the nouns listed in output_contract.produces and returns their pins.", "verbs": "The worker proposes follow-up verbs in output.proposed_verbs, such as a breakdown into smaller verbs or a research follow-up, with the pins they need. Proposals are never enqueued by the worker; an authorized requester enqueues the ones worth doing."}, "guidance": {"required": ["Confirm you wrote neither the fix nor its proposal; otherwise end blocked.", "Rerun the reproduction on the unfixed and the fixed versions: the first must still show the problem and the second must not.", "Say where you checked. A fix checked only on a local copy or a merged branch is not verified for a problem seen on a deployed surface.", "For a visual design flaw, compare screenshots at the finding's widths and themes; for an annoyance, check every place the finding names.", "Record any new problem the fix caused as a proposed record-finding verb; never fix it inside this verb.", "Return follow-up work the results justify as proposed_verbs and nouns worth creating later as proposed_nouns. Never enqueue them yourself; an authorized requester decides which to run."], "preferred": [], "suggested": [], "discovery_requested": false}, "required_capabilities": ["read permitted noun versions", "a sandbox without credentials", "write candidate nouns in the requester's scope"], "bounds": {"max_attempts": 2, "max_elapsed_seconds": 1800}, "execution": {"reasoning": "authorized_worker", "model_use": "worker_allowance", "inference_allowance": "Existing authorized worker allowance only. This template grants no provider credit, spending authority or server inference.", "server_fallback": false, "maximum_automatically_enqueued_children": 0, "network": {"mode": "read_only", "detail": "Requests that change nothing, only to public pages and files named in the finding, and package downloads for a sandbox build. Never to a system named in a security finding."}, "external_effects": "none"}, "review": {"required": "distinct_reviewer", "self_approval_permitted": false, "publication_permitted": false, "admission_permitted": false}, "instantiation": {"status": "template", "fill_before_enqueue": ["finding", "fix"], "rule": "Replace each slot with exact NounRef pins, set the params, then recompute the idempotency key with scripts/build_packs.py --instantiate. Enqueue only with your own grants in a queue your owner assigned."}, "execution_report": {"optional": true, "purpose": "Lets later runs of this template be fingerprinted and compared. It is worker reported, not proof.", "template": {"version": 1, "harness": {"name": "replace-with-harness-name", "version": "replace-with-exact-version"}, "model": {"provider": "replace-with-provider-or-none", "name": "replace-with-exact-model-or-none"}, "summaries": {"problem": "One sentence: what this run was asked to resolve.", "input": "One sentence: which pinned inputs were read.", "solution": "One sentence: what was produced or why the outcome was no_change, unknown or blocked."}, "contract": {"input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding", "fix"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "fix": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "reproduction": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["where_checked", "output_store"], "properties": {"where_checked": {"type": "string", "enum": ["local_copy", "merged", "deployed"]}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["verification_recorded", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}}, "blocks": [{"kind": "error", "text": ""}], "artifact_refs": [], "usage": {"source": "harness_metadata", "input_tokens": null, "output_tokens": null, "reason": "Template only. Replace with measured counters or keep null with a reason."}}, "fill_rules": ["Copy contract.input_schema and contract.output_schema unchanged, so every run of this template shares one shape fingerprint.", "Add context_hash, environment_hash and toolchain_hash as lowercase SHA-256 digests when known; all five contract fields together allow exact matching.", "Name the exact harness version, provider and model. Deterministic or human work records the model name as none.", "Put what went wrong in an error block and in output.run_notes.went_wrong. The version-1 report has no fields for what went right, next steps or ideas, so those go in output.run_notes.", "Leave token counts null with a reason unless the harness or provider measured them."], "run_notes_field": "output.run_notes", "shape_sha256": "1001b1711e471c7cab0b3c3a26a714412fc0d6deefaf031517ef6dbf1a61a122"}, "dimensions": {"determinism": 0.0, "evidence_grounding": 0.0, "token_efficiency": 0.0, "safety_compliance": 0.0, "verification_tier": "unverified"}, "dimension_basis": {"measured": false, "method": "unmeasured_floor", "reason": "Tessera requires these axes, so each is set to its lowest value and the tier is unverified. No quality is claimed. Replace them only with measured values and the evidence that produced them."}, "relations": [{"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.evidence-checklist", "target_category": "noun.benchmark_suite", "note": ""}, {"relation": "produces_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.template.verification", "target_category": "noun.eval_run", "note": "output verification"}], "follows_templates": ["findings-to-fixes.fix"]}}, {"queue": "conformance-seed-packs", "kind": "verb.verify_gate", "effect_class": "write-internal", "priority": 50, "idempotency_key": "seedpack:findings-to-fixes:add-regression-guard:8024a31f95f17a076cf90d1cf6e01f055cab8845229d3e3679602f5b0c2bc247", "depends_on": [], "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:verb.verify_gate", "pack:findings-to-fixes", "template:add-regression-guard", "claimant:agent", "status:quarantined"], "brief": {"category_id": "verb.verify_gate", "contract": "ta-amps.seed-verb-template.v1", "pack": "findings-to-fixes", "pack_version": "0.1.0", "template_id": "findings-to-fixes.add-regression-guard", "title": "Add a regression guard", "plain_summary": "Write or adopt a test or check that would catch the problem coming back, and prove it with the checks of checks trust rule: it passes on the fixed version and fails on the unfixed one, twice each.", "outcome": "A regression guard record with its runs and a trusted, revise, reject or needs_judges verdict.", "claimant": "agent", "inputs": {"pinned": [{"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.method", "version": 1, "value_sha256": "145baf45a09abe1e663f8ccce52e87389c3ded7146424ad30af65250737e18ad"}, {"store": "seedpack.checks-of-checks", "key": "checks-of-checks.v0.1.0.method", "version": 1, "value_sha256": "6962147ca41ca65e81ba15522178e4178e1ecf6833847937e1c039d7ea446879"}, {"store": "seedpack.checks-of-checks", "key": "checks-of-checks.v0.1.0.rule-types", "version": 1, "value_sha256": "470830a62606598f6d320e432ff69b70b72a556ebabbb0034d3efec33d447e78"}], "slots": {"finding": null, "fix": null, "verification": null}, "params": {"guard_kind": null, "output_store": "seedpack.findings-to-fixes.outputs"}}, "slot_specs": {"finding": {"category": "noun.seed_hypothesis", "required": true, "many": false, "description": "Pin of the finding."}, "fix": {"category": "noun.code_node", "required": true, "many": false, "description": "Pin of the fix."}, "verification": {"category": "noun.eval_run", "required": false, "many": false, "description": "Pin of the verification."}}, "param_specs": {"guard_kind": {"description": "The kind of guard: an automated test, a deterministic check, a page check or a process rule.", "schema": {"type": "string", "enum": ["automated_test", "deterministic_check", "page_check", "process_rule"]}, "required": true}, "output_store": {"description": "Store for the produced nouns. The default is a placeholder; use the store your owner assigned.", "schema": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "required": true, "default": "seedpack.findings-to-fixes.outputs"}}, "input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding", "fix"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "fix": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "verification": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["guard_kind", "output_store"], "properties": {"guard_kind": {"type": "string", "enum": ["automated_test", "deterministic_check", "page_check", "process_rule"]}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_contract": {"visibility_scope": "surface_only", "allowed_surfaces": [], "write_mode": "create_only", "store_param": "output_store", "key_rule": "findings-to-fixes..[.]", "expected_version": 0, "produces": [{"name": "guard", "template": {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.template.regression-guard", "version": 1, "value_sha256": "4801e759ecccce875f6433fd6210e3b6a79b372f62a2985580d5c6a1ceae53ba"}, "max": 1}], "delivery": "Write produced nouns surface_only under your own authenticated surface, which is the requester's assigned surface, so the requester and that surface's reviewers can read them. Never use public_commons or allowlist other surfaces. Return every produced noun's pin in output.artifacts; add its value when the requester asks for inline delivery."}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["guard_recorded", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}, "permitted_outcomes": ["guard_recorded", "no_change", "unknown", "blocked"], "outcome_meanings": {"guard_recorded": "The declared nouns were produced and every deterministic acceptance check passed.", "no_change": "The evidence does not justify producing or changing anything. Say why.", "unknown": "The question could not be answered with the permitted inputs. List what is missing and what would resolve it.", "blocked": "A required input, permission or capability is missing. Ask one precise question."}, "outcome_requirements": {"guard_recorded": ["artifacts", "checks"], "no_change": ["no_change_reason"], "unknown": ["unknowns"], "blocked": ["blocked_question"]}, "acceptance_checks": [{"id": "guard-matches-template", "check": "The guard validates against template.regression-guard's schema.", "method": "deterministic"}, {"id": "verdict-follows-rule", "check": "trusted only when both fixed runs passed and both unfixed runs failed; otherwise the verdict the trust rule gives.", "method": "deterministic"}, {"id": "repeat-identical", "check": "The second pass gave the same results as the first.", "method": "deterministic"}, {"id": "fails-for-the-reason", "check": "The unfixed runs failed for the finding's reason, not an unrelated error.", "method": "judgment"}], "creates": {"nouns": "The worker writes the nouns listed in output_contract.produces and returns their pins.", "verbs": "The worker proposes follow-up verbs in output.proposed_verbs, such as a breakdown into smaller verbs or a research follow-up, with the pins they need. Proposals are never enqueued by the worker; an authorized requester enqueues the ones worth doing."}, "guidance": {"required": ["Verify the pins. Prefer adopting a test the fix already added; otherwise write the smallest test or check that encodes the reproduction.", "Run the guard on the fixed version and on the unfixed version, twice each. It is trusted only when it passes on the fixed version and fails on the unfixed one for the finding's reason, both times.", "A guard that passes on the unfixed version is too weak: record revise and say what it misses. A guard that fails on the fixed version is wrong: record reject.", "A deterministic check uses only the checks of checks rule types; a page check names its widths and themes; a process rule is a judgment check, needs_judges until two judges or a person agree.", "Propose the checks of checks review-checks verb, so a different worker confirms the verdict.", "Return follow-up work the results justify as proposed_verbs and nouns worth creating later as proposed_nouns. Never enqueue them yourself; an authorized requester decides which to run."], "preferred": [], "suggested": [], "discovery_requested": false}, "required_capabilities": ["read permitted noun versions", "a sandbox without credentials", "write candidate nouns in the requester's scope"], "bounds": {"max_attempts": 2, "max_elapsed_seconds": 2400}, "execution": {"reasoning": "authorized_worker", "model_use": "worker_allowance", "inference_allowance": "Existing authorized worker allowance only. This template grants no provider credit, spending authority or server inference.", "server_fallback": false, "maximum_automatically_enqueued_children": 0, "network": {"mode": "sandbox_packages", "detail": "Package installs inside the sandbox to run the existing checks. No requests to any deployed system."}, "external_effects": "none"}, "review": {"required": "owning_policy", "self_approval_permitted": false, "publication_permitted": false, "admission_permitted": false}, "instantiation": {"status": "template", "fill_before_enqueue": ["finding", "fix"], "rule": "Replace each slot with exact NounRef pins, set the params, then recompute the idempotency key with scripts/build_packs.py --instantiate. Enqueue only with your own grants in a queue your owner assigned."}, "execution_report": {"optional": true, "purpose": "Lets later runs of this template be fingerprinted and compared. It is worker reported, not proof.", "template": {"version": 1, "harness": {"name": "replace-with-harness-name", "version": "replace-with-exact-version"}, "model": {"provider": "replace-with-provider-or-none", "name": "replace-with-exact-model-or-none"}, "summaries": {"problem": "One sentence: what this run was asked to resolve.", "input": "One sentence: which pinned inputs were read.", "solution": "One sentence: what was produced or why the outcome was no_change, unknown or blocked."}, "contract": {"input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 3, "maxItems": 3, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding", "fix"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "fix": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "verification": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["guard_kind", "output_store"], "properties": {"guard_kind": {"type": "string", "enum": ["automated_test", "deterministic_check", "page_check", "process_rule"]}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["guard_recorded", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}}, "blocks": [{"kind": "error", "text": ""}], "artifact_refs": [], "usage": {"source": "harness_metadata", "input_tokens": null, "output_tokens": null, "reason": "Template only. Replace with measured counters or keep null with a reason."}}, "fill_rules": ["Copy contract.input_schema and contract.output_schema unchanged, so every run of this template shares one shape fingerprint.", "Add context_hash, environment_hash and toolchain_hash as lowercase SHA-256 digests when known; all five contract fields together allow exact matching.", "Name the exact harness version, provider and model. Deterministic or human work records the model name as none.", "Put what went wrong in an error block and in output.run_notes.went_wrong. The version-1 report has no fields for what went right, next steps or ideas, so those go in output.run_notes.", "Leave token counts null with a reason unless the harness or provider measured them."], "run_notes_field": "output.run_notes", "shape_sha256": "985b02026065839e5b31f265ba30ea20fb78cb457f932b32b1138237017914a4"}, "dimensions": {"determinism": 0.0, "evidence_grounding": 0.0, "token_efficiency": 0.0, "safety_compliance": 0.0, "verification_tier": "unverified"}, "dimension_basis": {"measured": false, "method": "unmeasured_floor", "reason": "Tessera requires these axes, so each is set to its lowest value and the tier is unverified. No quality is claimed. Replace them only with measured values and the evidence that produced them."}, "relations": [{"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.checks-of-checks/checks-of-checks.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.checks-of-checks/checks-of-checks.v0.1.0.rule-types", "target_category": "noun.reflex_procedure", "note": ""}, {"relation": "produces_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.template.regression-guard", "target_category": "noun.benchmark_suite", "note": "output guard"}], "follows_templates": ["findings-to-fixes.verify-fix"]}}, {"queue": "conformance-seed-packs", "kind": "verb.verify_gate", "effect_class": "write-internal", "priority": 50, "idempotency_key": "seedpack:findings-to-fixes:close:b98d71a7cc8aee53f8154faa29d516a718b48a7be91905a6f689b222a992dfeb", "depends_on": [], "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:verb.verify_gate", "pack:findings-to-fixes", "template:close", "claimant:agent", "status:quarantined"], "brief": {"category_id": "verb.verify_gate", "contract": "ta-amps.seed-verb-template.v1", "pack": "findings-to-fixes", "pack_version": "0.1.0", "template_id": "findings-to-fixes.close", "title": "Close the finding", "plain_summary": "Apply the close gate and, when it passes, write the finding's closing version: resolved with an independent verification and a guard shown to fail without the fix or a written waiver, a duplicate of a named finding, or won't fix by a person's decision.", "outcome": "A new version of the finding with status closed, duplicate or wont_fix and the gate results, or no_change listing the gate checks that failed.", "claimant": "agent", "inputs": {"pinned": [{"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.method", "version": 1, "value_sha256": "145baf45a09abe1e663f8ccce52e87389c3ded7146424ad30af65250737e18ad"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.record-checks", "version": 1, "value_sha256": "88bcb05c5c2cfe113f448107323a35f5cf68a447b55b278bfdba61eadebdb586"}], "slots": {"finding": null, "verification": null, "guard": null, "canonical": null, "decision": null}, "params": {"reason": null, "waiver": null, "output_store": "seedpack.findings-to-fixes.outputs"}}, "slot_specs": {"finding": {"category": "noun.seed_hypothesis", "required": true, "many": false, "description": "Pin of the current version of the finding."}, "verification": {"category": "noun.eval_run", "required": false, "many": false, "description": "Pin of the independent verification, for resolved."}, "guard": {"category": "noun.benchmark_suite", "required": false, "many": false, "description": "Pin of the regression guard, for resolved."}, "canonical": {"category": "noun.seed_hypothesis", "required": false, "many": false, "description": "Pin of the older finding this one duplicates, for duplicate."}, "decision": {"category": "noun.seed_hypothesis", "required": false, "many": false, "description": "Pin of a person's recorded decision not to fix, such as a taste palette choice of none, for wont_fix."}}, "param_specs": {"reason": {"description": "Why the finding closes.", "schema": {"type": "string", "enum": ["resolved", "duplicate", "wont_fix"]}, "required": true}, "waiver": {"description": "For resolved without a trusted guard: the written reason no guard can run. Leave null otherwise.", "schema": {"type": ["string", "null"], "maxLength": 600}, "required": false, "default": null}, "output_store": {"description": "Store for the produced nouns. The default is a placeholder; use the store your owner assigned.", "schema": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "required": true, "default": "seedpack.findings-to-fixes.outputs"}}, "input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "verification": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "guard": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "canonical": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "decision": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["reason", "output_store"], "properties": {"reason": {"type": "string", "enum": ["resolved", "duplicate", "wont_fix"]}, "waiver": {"type": ["string", "null"], "maxLength": 600}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_contract": {"visibility_scope": "surface_only", "allowed_surfaces": [], "write_mode": "compare_and_set", "target_slot": "finding", "expected_version": {"from_slot": "finding"}, "update_rule": "Write a new version of the noun pinned in slot 'finding', in its own store and key, with its pinned version as the expected version. A version conflict means re-read and stop.", "produces": [{"name": "finding", "template": {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.template.finding", "version": 1, "value_sha256": "05a0e9ba4bc9bc4d900146290e39155ceadb799d334a47180f354dd988774a80"}, "max": 1}], "delivery": "Write produced nouns surface_only under your own authenticated surface, which is the requester's assigned surface, so the requester and that surface's reviewers can read them. Never use public_commons or allowlist other surfaces. Return every produced noun's pin in output.artifacts; add its value when the requester asks for inline delivery."}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["finding_closed", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}, "permitted_outcomes": ["finding_closed", "no_change", "unknown", "blocked"], "outcome_meanings": {"finding_closed": "The declared nouns were produced and every deterministic acceptance check passed.", "no_change": "The evidence does not justify producing or changing anything. Say why.", "unknown": "The question could not be answered with the permitted inputs. List what is missing and what would resolve it.", "blocked": "A required input, permission or capability is missing. Ask one precise question."}, "outcome_requirements": {"finding_closed": ["artifacts", "checks"], "no_change": ["no_change_reason"], "unknown": ["unknowns"], "blocked": ["blocked_question"]}, "acceptance_checks": [{"id": "finding-matches-template", "check": "The closing version validates against template.finding's schema.", "method": "deterministic"}, {"id": "record-checks-pass", "check": "The closing version passes every deterministic check in record-checks.", "method": "deterministic"}, {"id": "gate-recorded", "check": "Every gate check for the given reason is recorded with its result in output.checks.", "method": "deterministic"}, {"id": "person-decided", "check": "For wont_fix, the pinned decision was written by a person's key.", "method": "deterministic"}, {"id": "cas-update", "check": "The write used the pinned version as its expected version.", "method": "deterministic"}], "creates": {"nouns": "The worker writes the nouns listed in output_contract.produces and returns their pins.", "verbs": "The worker proposes follow-up verbs in output.proposed_verbs, such as a breakdown into smaller verbs or a research follow-up, with the pins they need. Proposals are never enqueued by the worker; an authorized requester enqueues the ones worth doing."}, "guidance": {"required": ["Verify the pins, then apply the gate for the reason given. Every gate check must pass; a failed check ends no_change with the checks that failed and the verbs that would satisfy them.", "Resolved: a verification by a different worker than the fixer says fix_verified where the problem was seen, and a guard is trusted or a waiver gives its reason. A fix merged but not deployed where the problem was seen stays fixed_not_deployed.", "Duplicate: the pinned canonical finding lists this finding among its duplicates.", "Won't fix: a person's recorded decision is pinned; an agent alone never closes a finding as won't fix.", "Write the closing version with its current version as the compare-and-set expectation, with links to the fix, the verification and the guard. Never remove earlier evidence or history.", "Return follow-up work the results justify as proposed_verbs and nouns worth creating later as proposed_nouns. Never enqueue them yourself; an authorized requester decides which to run."], "preferred": [], "suggested": [], "discovery_requested": false}, "required_capabilities": ["read permitted noun versions", "write candidate nouns in the requester's scope"], "bounds": {"max_attempts": 2, "max_elapsed_seconds": 300}, "execution": {"reasoning": "deterministic_tools", "model_use": "none", "inference_allowance": "Existing authorized worker allowance only. This template grants no provider credit, spending authority or server inference.", "server_fallback": false, "maximum_automatically_enqueued_children": 0, "network": {"mode": "none", "detail": "No network access."}, "external_effects": "none"}, "review": {"required": "owning_policy", "self_approval_permitted": false, "publication_permitted": false, "admission_permitted": false}, "instantiation": {"status": "template", "fill_before_enqueue": ["finding"], "rule": "Replace each slot with exact NounRef pins, set the params, then recompute the idempotency key with scripts/build_packs.py --instantiate. Enqueue only with your own grants in a queue your owner assigned."}, "execution_report": {"optional": true, "purpose": "Lets later runs of this template be fingerprinted and compared. It is worker reported, not proof.", "template": {"version": 1, "harness": {"name": "replace-with-harness-name", "version": "replace-with-exact-version"}, "model": {"provider": "replace-with-provider-or-none", "name": "replace-with-exact-model-or-none"}, "summaries": {"problem": "One sentence: what this run was asked to resolve.", "input": "One sentence: which pinned inputs were read.", "solution": "One sentence: what was produced or why the outcome was no_change, unknown or blocked."}, "contract": {"input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "verification": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "guard": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "canonical": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "decision": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["reason", "output_store"], "properties": {"reason": {"type": "string", "enum": ["resolved", "duplicate", "wont_fix"]}, "waiver": {"type": ["string", "null"], "maxLength": 600}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["finding_closed", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}}, "blocks": [{"kind": "error", "text": ""}], "artifact_refs": [], "usage": {"source": "harness_metadata", "input_tokens": null, "output_tokens": null, "reason": "Template only. Replace with measured counters or keep null with a reason."}}, "fill_rules": ["Copy contract.input_schema and contract.output_schema unchanged, so every run of this template shares one shape fingerprint.", "Add context_hash, environment_hash and toolchain_hash as lowercase SHA-256 digests when known; all five contract fields together allow exact matching.", "Name the exact harness version, provider and model. Deterministic or human work records the model name as none.", "Put what went wrong in an error block and in output.run_notes.went_wrong. The version-1 report has no fields for what went right, next steps or ideas, so those go in output.run_notes.", "Leave token counts null with a reason unless the harness or provider measured them."], "run_notes_field": "output.run_notes", "shape_sha256": "5fe81ea41934095213d1c2924875dc59c1f0aa13b06d283d1bc72d3aa8d128a0"}, "dimensions": {"determinism": 0.0, "evidence_grounding": 0.0, "token_efficiency": 0.0, "safety_compliance": 0.0, "verification_tier": "unverified"}, "dimension_basis": {"measured": false, "method": "unmeasured_floor", "reason": "Tessera requires these axes, so each is set to its lowest value and the tier is unverified. No quality is claimed. Replace them only with measured values and the evidence that produced them."}, "relations": [{"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.record-checks", "target_category": "noun.benchmark_suite", "note": ""}, {"relation": "produces_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.template.finding", "target_category": "noun.seed_hypothesis", "note": "output finding"}], "follows_templates": ["findings-to-fixes.add-regression-guard", "findings-to-fixes.triage"], "notes": ["Deterministic: the gate reads pinned nouns only and calls no model. Like triage, it updates the finding through compare-and-set and keeps every earlier version."]}}, {"queue": "conformance-seed-packs", "kind": "verb.solve_draft", "effect_class": "write-internal", "priority": 50, "idempotency_key": "seedpack:findings-to-fixes:publish-finding:4a778596b7bab718ebd6d0831ac93e497f34c7022fb0f72bf2e1024aae5949a8", "depends_on": [], "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:verb.solve_draft", "pack:findings-to-fixes", "template:publish-finding", "claimant:agent", "status:quarantined"], "brief": {"category_id": "verb.solve_draft", "contract": "ta-amps.seed-verb-template.v1", "pack": "findings-to-fixes", "pack_version": "0.1.0", "template_id": "findings-to-fixes.publish-finding", "title": "Prepare a finding for publication", "plain_summary": "When the disclosure rules allow it, write a short public summary of a finding: what went wrong, what changed and how a guard keeps it from coming back, with public links only. The owner decides whether and where it appears; this verb never publishes anything.", "outcome": "A public summary that passed every disclosure check, waiting for the owner, or no_change naming the rule that does not allow it yet.", "claimant": "agent", "inputs": {"pinned": [{"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.disclosure-rules", "version": 1, "value_sha256": "2d1ba0fc92cad5303e036b926cd317eaabf60c4da32fc343a04be4313f7c3d32"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.record-checks", "version": 1, "value_sha256": "88bcb05c5c2cfe113f448107323a35f5cf68a447b55b278bfdba61eadebdb586"}], "slots": {"finding": null, "fix": null, "verification": null, "guard": null}, "params": {"output_store": "seedpack.findings-to-fixes.outputs"}}, "slot_specs": {"finding": {"category": "noun.seed_hypothesis", "required": true, "many": false, "description": "Pin of the finding."}, "fix": {"category": "noun.code_node", "required": false, "many": false, "description": "Pin of the fix."}, "verification": {"category": "noun.eval_run", "required": false, "many": false, "description": "Pin of the verification."}, "guard": {"category": "noun.benchmark_suite", "required": false, "many": false, "description": "Pin of the regression guard."}}, "param_specs": {"output_store": {"description": "Store for the produced nouns. The default is a placeholder; use the store your owner assigned.", "schema": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "required": true, "default": "seedpack.findings-to-fixes.outputs"}}, "input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "fix": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "verification": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "guard": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["output_store"], "properties": {"output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_contract": {"visibility_scope": "surface_only", "allowed_surfaces": [], "write_mode": "create_only", "store_param": "output_store", "key_rule": "findings-to-fixes..[.]", "expected_version": 0, "produces": [{"name": "public_summary", "template": {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.template.public-summary", "version": 1, "value_sha256": "c305770b2323c5e813b6fb5a0e0f906a1fb03e63b8115e8c5cf9641c0c737ad8"}, "max": 1}], "delivery": "Write produced nouns surface_only under your own authenticated surface, which is the requester's assigned surface, so the requester and that surface's reviewers can read them. Never use public_commons or allowlist other surfaces. Return every produced noun's pin in output.artifacts; add its value when the requester asks for inline delivery."}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["summary_ready", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}, "permitted_outcomes": ["summary_ready", "no_change", "unknown", "blocked"], "outcome_meanings": {"summary_ready": "The declared nouns were produced and every deterministic acceptance check passed.", "no_change": "The evidence does not justify producing or changing anything. Say why.", "unknown": "The question could not be answered with the permitted inputs. List what is missing and what would resolve it.", "blocked": "A required input, permission or capability is missing. Ask one precise question."}, "outcome_requirements": {"summary_ready": ["artifacts", "checks"], "no_change": ["no_change_reason"], "unknown": ["unknowns"], "blocked": ["blocked_question"]}, "acceptance_checks": [{"id": "summary-matches-template", "check": "The summary validates against template.public-summary's schema.", "method": "deterministic"}, {"id": "disclosure-gate-passes", "check": "Every disclosure gate check passed for this finding.", "method": "deterministic"}, {"id": "no-secret-values", "check": "The record checks' secret pattern finds nothing in the summary.", "method": "deterministic"}, {"id": "owner-decides", "check": "release_decision is owner and approved is false.", "method": "deterministic"}, {"id": "faithful", "check": "Every statement matches the finding and its linked nouns.", "method": "judgment"}], "creates": {"nouns": "The worker writes the nouns listed in output_contract.produces and returns their pins.", "verbs": "The worker proposes follow-up verbs in output.proposed_verbs, such as a breakdown into smaller verbs or a research follow-up, with the pins they need. Proposals are never enqueued by the worker; an authorized requester enqueues the ones worth doing."}, "guidance": {"required": ["Verify the pins and apply the disclosure gate first. An unfixed security finding, a finding marked public false, or one holding credentials or personal data ends no_change, and nothing about it is drafted.", "Write for a reader outside the team: what was seen, its kind and severity, what changed, how a guard keeps it from coming back, and links only to public pull requests, commits and pages.", "Say plainly what went wrong, including mistakes in process; failures stay on the record.", "Remove private names, private paths, keys, personal data and anything else the rules list, and record each redaction.", "Mark the summary as the owner's decision with approved false. Releasing it is the owner's separate act, on a surface of their choice.", "Return follow-up work the results justify as proposed_verbs and nouns worth creating later as proposed_nouns. Never enqueue them yourself; an authorized requester decides which to run."], "preferred": [], "suggested": [], "discovery_requested": false}, "required_capabilities": ["read permitted noun versions", "write candidate nouns in the requester's scope"], "bounds": {"max_attempts": 2, "max_elapsed_seconds": 900}, "execution": {"reasoning": "authorized_worker", "model_use": "worker_allowance", "inference_allowance": "Existing authorized worker allowance only. This template grants no provider credit, spending authority or server inference.", "server_fallback": false, "maximum_automatically_enqueued_children": 0, "network": {"mode": "none", "detail": "No network access."}, "external_effects": "none"}, "review": {"required": "owning_policy", "self_approval_permitted": false, "publication_permitted": false, "admission_permitted": false}, "instantiation": {"status": "template", "fill_before_enqueue": ["finding"], "rule": "Replace each slot with exact NounRef pins, set the params, then recompute the idempotency key with scripts/build_packs.py --instantiate. Enqueue only with your own grants in a queue your owner assigned."}, "execution_report": {"optional": true, "purpose": "Lets later runs of this template be fingerprinted and compared. It is worker reported, not proof.", "template": {"version": 1, "harness": {"name": "replace-with-harness-name", "version": "replace-with-exact-version"}, "model": {"provider": "replace-with-provider-or-none", "name": "replace-with-exact-model-or-none"}, "summaries": {"problem": "One sentence: what this run was asked to resolve.", "input": "One sentence: which pinned inputs were read.", "solution": "One sentence: what was produced or why the outcome was no_change, unknown or blocked."}, "contract": {"input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["finding"], "properties": {"finding": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "fix": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "verification": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "guard": {"type": ["object", "null"], "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["output_store"], "properties": {"output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["summary_ready", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}}, "blocks": [{"kind": "error", "text": ""}], "artifact_refs": [], "usage": {"source": "harness_metadata", "input_tokens": null, "output_tokens": null, "reason": "Template only. Replace with measured counters or keep null with a reason."}}, "fill_rules": ["Copy contract.input_schema and contract.output_schema unchanged, so every run of this template shares one shape fingerprint.", "Add context_hash, environment_hash and toolchain_hash as lowercase SHA-256 digests when known; all five contract fields together allow exact matching.", "Name the exact harness version, provider and model. Deterministic or human work records the model name as none.", "Put what went wrong in an error block and in output.run_notes.went_wrong. The version-1 report has no fields for what went right, next steps or ideas, so those go in output.run_notes.", "Leave token counts null with a reason unless the harness or provider measured them."], "run_notes_field": "output.run_notes", "shape_sha256": "717e9af38cf6e58c32b46c2e69355696685d37a44fb10e0215f92a779ecc4c61"}, "dimensions": {"determinism": 0.0, "evidence_grounding": 0.0, "token_efficiency": 0.0, "safety_compliance": 0.0, "verification_tier": "unverified"}, "dimension_basis": {"measured": false, "method": "unmeasured_floor", "reason": "Tessera requires these axes, so each is set to its lowest value and the tier is unverified. No quality is claimed. Replace them only with measured values and the evidence that produced them."}, "relations": [{"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.disclosure-rules", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.record-checks", "target_category": "noun.benchmark_suite", "note": ""}, {"relation": "produces_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.template.public-summary", "target_category": "noun.public_source", "note": "output public_summary"}], "follows_templates": ["findings-to-fixes.close", "findings-to-fixes.triage"]}}, {"queue": "conformance-seed-packs", "kind": "verb.distill_reflex", "effect_class": "write-internal", "priority": 50, "idempotency_key": "seedpack:findings-to-fixes:review-patterns:98e9266f9caa6ddf365e3684af286569d52339f51d04492f741a18af46d92a30", "depends_on": [], "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:verb.distill_reflex", "pack:findings-to-fixes", "template:review-patterns", "claimant:agent", "status:quarantined"], "brief": {"category_id": "verb.distill_reflex", "contract": "ta-amps.seed-verb-template.v1", "pack": "findings-to-fixes", "pack_version": "0.1.0", "template_id": "findings-to-fixes.review-patterns", "title": "Review patterns across findings", "plain_summary": "Periodically look across closed findings, and open ones with the same cause, for causes that keep coming back, and propose upstream fixes, such as one shared repair for a bug copied into many repositories.", "outcome": "A pattern review listing repeated causes with their findings, counts, places and the upstream fix each needs, or no_change when no cause repeats.", "claimant": "agent", "inputs": {"pinned": [{"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.method", "version": 1, "value_sha256": "145baf45a09abe1e663f8ccce52e87389c3ded7146424ad30af65250737e18ad"}, {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.kind-definitions", "version": 1, "value_sha256": "472d8115b15f03e086fb88b34b28357e97e2cec1830babb6cfb9c01ed4f80598"}], "slots": {"findings": [], "earlier_reviews": []}, "params": {"window_from": null, "window_to": null, "min_findings": 2, "output_store": "seedpack.findings-to-fixes.outputs"}}, "slot_specs": {"findings": {"category": "noun.seed_hypothesis", "required": true, "many": true, "description": "Pins of the findings to review: closed ones, and open ones that may share a cause."}, "earlier_reviews": {"category": "noun.seed_hypothesis", "required": false, "many": true, "description": "Pins of earlier pattern reviews, to see whether an upstream fix stopped its cause."}}, "param_specs": {"window_from": {"description": "First date of the review window.", "schema": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}", "maxLength": 40}, "required": true}, "window_to": {"description": "Last date of the review window.", "schema": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}", "maxLength": 40}, "required": true}, "min_findings": {"description": "Fewest findings that make a pattern, unless one finding is seen in several places.", "schema": {"type": "integer", "minimum": 2, "maximum": 10}, "default": 2}, "output_store": {"description": "Store for the produced nouns. The default is a placeholder; use the store your owner assigned.", "schema": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "required": true, "default": "seedpack.findings-to-fixes.outputs"}}, "input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["findings"], "properties": {"findings": {"type": "array", "minItems": 1, "maxItems": 60, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "earlier_reviews": {"type": "array", "minItems": 0, "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["window_from", "window_to", "min_findings", "output_store"], "properties": {"window_from": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}", "maxLength": 40}, "window_to": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}", "maxLength": 40}, "min_findings": {"type": "integer", "minimum": 2, "maximum": 10}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_contract": {"visibility_scope": "surface_only", "allowed_surfaces": [], "write_mode": "create_only", "store_param": "output_store", "key_rule": "findings-to-fixes..[.]", "expected_version": 0, "produces": [{"name": "pattern_review", "template": {"store": "seedpack.findings-to-fixes", "key": "findings-to-fixes.v0.1.0.template.pattern-review", "version": 1, "value_sha256": "ea4aefc3b05e58744cd1077ae4760fe0c217f86a59d9a3c4580005feffc12c0c"}, "max": 1}], "delivery": "Write produced nouns surface_only under your own authenticated surface, which is the requester's assigned surface, so the requester and that surface's reviewers can read them. Never use public_commons or allowlist other surfaces. Return every produced noun's pin in output.artifacts; add its value when the requester asks for inline delivery."}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["patterns_reviewed", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}, "permitted_outcomes": ["patterns_reviewed", "no_change", "unknown", "blocked"], "outcome_meanings": {"patterns_reviewed": "The declared nouns were produced and every deterministic acceptance check passed.", "no_change": "The evidence does not justify producing or changing anything. Say why.", "unknown": "The question could not be answered with the permitted inputs. List what is missing and what would resolve it.", "blocked": "A required input, permission or capability is missing. Ask one precise question."}, "outcome_requirements": {"patterns_reviewed": ["artifacts"], "no_change": ["no_change_reason"], "unknown": ["unknowns"], "blocked": ["blocked_question"]}, "acceptance_checks": [{"id": "review-matches-template", "check": "The review validates against template.pattern-review's schema.", "method": "deterministic"}, {"id": "counts-from-findings", "check": "Every count equals the number of findings listed in its pattern.", "method": "deterministic"}, {"id": "findings-pinned", "check": "Every finding named in a pattern is among the pinned findings.", "method": "deterministic"}, {"id": "upstream-not-instance", "check": "Each upstream fix addresses the shared cause, not one instance.", "method": "judgment"}], "creates": {"nouns": "The worker writes the nouns listed in output_contract.produces and returns their pins.", "verbs": "The worker proposes follow-up verbs in output.proposed_verbs, such as a breakdown into smaller verbs or a research follow-up, with the pins they need. Proposals are never enqueued by the worker; an authorized requester enqueues the ones worth doing."}, "guidance": {"required": ["Verify the pins. Group findings by cause, not by wording: the same component in the fingerprint, the same guard, the same copied file or the same missed step.", "A pattern needs at least min_findings findings, or one finding seen in several places, such as a script copied into every repository.", "For each pattern, say where one upstream fix would cover every instance, such as a shared kit, template, checklist or generator, and propose a record-finding verb for the shared cause, the prior art and alternatives pack's survey-existing verb for what already exists, and a propose-fix verb. Do not make the fix here.", "Read the earlier reviews: a cause that came back after its upstream fix is itself a new finding, so propose recording it.", "Return follow-up work the results justify as proposed_verbs and nouns worth creating later as proposed_nouns. Never enqueue them yourself; an authorized requester decides which to run."], "preferred": [], "suggested": [], "discovery_requested": false}, "required_capabilities": ["read permitted noun versions", "write candidate nouns in the requester's scope"], "bounds": {"max_attempts": 2, "max_elapsed_seconds": 1800}, "execution": {"reasoning": "authorized_worker", "model_use": "worker_allowance", "inference_allowance": "Existing authorized worker allowance only. This template grants no provider credit, spending authority or server inference.", "server_fallback": false, "maximum_automatically_enqueued_children": 0, "network": {"mode": "none", "detail": "No network access."}, "external_effects": "none"}, "review": {"required": "owning_policy", "self_approval_permitted": false, "publication_permitted": false, "admission_permitted": false}, "instantiation": {"status": "template", "fill_before_enqueue": ["findings"], "rule": "Replace each slot with exact NounRef pins, set the params, then recompute the idempotency key with scripts/build_packs.py --instantiate. Enqueue only with your own grants in a queue your owner assigned."}, "execution_report": {"optional": true, "purpose": "Lets later runs of this template be fingerprinted and compared. It is worker reported, not proof.", "template": {"version": 1, "harness": {"name": "replace-with-harness-name", "version": "replace-with-exact-version"}, "model": {"provider": "replace-with-provider-or-none", "name": "replace-with-exact-model-or-none"}, "summaries": {"problem": "One sentence: what this run was asked to resolve.", "input": "One sentence: which pinned inputs were read.", "solution": "One sentence: what was produced or why the outcome was no_change, unknown or blocked."}, "contract": {"input_schema": {"type": "object", "additionalProperties": false, "required": ["pinned", "slots", "params"], "properties": {"pinned": {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "slots": {"type": "object", "additionalProperties": false, "required": ["findings"], "properties": {"findings": {"type": "array", "minItems": 1, "maxItems": 60, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "earlier_reviews": {"type": "array", "minItems": 0, "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}}}, "params": {"type": "object", "additionalProperties": false, "required": ["window_from", "window_to", "min_findings", "output_store"], "properties": {"window_from": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}", "maxLength": 40}, "window_to": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}", "maxLength": 40}, "min_findings": {"type": "integer", "minimum": 2, "maximum": 10}, "output_store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}}}}}, "output_schema": {"type": "object", "additionalProperties": false, "required": ["outcome", "summary", "artifacts", "checks", "unknowns"], "properties": {"outcome": {"type": "string", "enum": ["patterns_reviewed", "no_change", "unknown", "blocked"]}, "summary": {"type": "string", "minLength": 1, "maxLength": 1200}, "artifacts": {"type": "array", "maxItems": 1, "items": {"type": "object", "additionalProperties": false, "required": ["role", "ref"], "properties": {"role": {"type": "string", "minLength": 1, "maxLength": 64}, "ref": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "value": {"type": "object"}}}}, "checks": {"type": "array", "maxItems": 64, "items": {"type": "object", "additionalProperties": false, "required": ["id", "result"], "properties": {"id": {"type": "string", "minLength": 1, "maxLength": 80}, "result": {"type": "string", "enum": ["pass", "fail", "not_run"]}, "evidence": {"type": "string", "maxLength": 2000}}}}, "unknowns": {"type": "array", "maxItems": 32, "items": {"type": "object", "additionalProperties": false, "required": ["item", "reason"], "properties": {"item": {"type": "string", "minLength": 1, "maxLength": 300}, "reason": {"type": "string", "minLength": 1, "maxLength": 1000}, "would_resolve": {"type": "string", "maxLength": 1000}}}}, "no_change_reason": {"type": "string", "minLength": 1, "maxLength": 2000}, "blocked_question": {"type": "string", "minLength": 1, "maxLength": 1000}, "proposed_verbs": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["kind", "title", "outcome", "why", "priority"], "properties": {"kind": {"type": "string", "pattern": "^verb\\.[a-z_]+$"}, "template_id": {"type": "string", "minLength": 1, "maxLength": 160}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "outcome": {"type": "string", "minLength": 1, "maxLength": 600}, "why": {"type": "string", "minLength": 1, "maxLength": 600}, "input_pins": {"type": "array", "maxItems": 16, "items": {"type": "object", "additionalProperties": false, "required": ["store", "key", "version", "value_sha256"], "properties": {"store": {"type": "string", "pattern": "^[a-z0-9][a-z0-9_.-]{0,63}$"}, "key": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,255}$"}, "version": {"type": "integer", "minimum": 1}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}}}}, "proposed_nouns": {"type": "array", "maxItems": 10, "items": {"type": "object", "additionalProperties": false, "required": ["category", "role", "title", "why"], "properties": {"category": {"type": "string", "pattern": "^noun\\.[a-z_]+$"}, "role": {"type": "string", "minLength": 1, "maxLength": 64}, "title": {"type": "string", "minLength": 1, "maxLength": 160}, "why": {"type": "string", "minLength": 1, "maxLength": 600}}}}, "run_notes": {"type": "object", "additionalProperties": false, "properties": {"went_right": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "went_wrong": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "next_steps": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}, "ideas": {"type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 500}}}}}}}, "blocks": [{"kind": "error", "text": ""}], "artifact_refs": [], "usage": {"source": "harness_metadata", "input_tokens": null, "output_tokens": null, "reason": "Template only. Replace with measured counters or keep null with a reason."}}, "fill_rules": ["Copy contract.input_schema and contract.output_schema unchanged, so every run of this template shares one shape fingerprint.", "Add context_hash, environment_hash and toolchain_hash as lowercase SHA-256 digests when known; all five contract fields together allow exact matching.", "Name the exact harness version, provider and model. Deterministic or human work records the model name as none.", "Put what went wrong in an error block and in output.run_notes.went_wrong. The version-1 report has no fields for what went right, next steps or ideas, so those go in output.run_notes.", "Leave token counts null with a reason unless the harness or provider measured them."], "run_notes_field": "output.run_notes", "shape_sha256": "dbf1b20f933c2d81921637d3282bfc346a0a9fc7db4d7bf761a2bdc41406983b"}, "dimensions": {"determinism": 0.0, "evidence_grounding": 0.0, "token_efficiency": 0.0, "safety_compliance": 0.0, "verification_tier": "unverified"}, "dimension_basis": {"measured": false, "method": "unmeasured_floor", "reason": "Tessera requires these axes, so each is set to its lowest value and the tier is unverified. No quality is claimed. Replace them only with measured values and the evidence that produced them."}, "relations": [{"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.kind-definitions", "target_category": "noun.skill_pack", "note": ""}, {"relation": "produces_noun", "target_id": "seedpack.findings-to-fixes/findings-to-fixes.v0.1.0.template.pattern-review", "target_category": "noun.seed_hypothesis", "note": "output pattern_review"}], "follows_templates": ["findings-to-fixes.close"], "notes": ["Periodic: run it weekly or after every ten closed findings, whichever comes first. This pack activates no schedule; a recurring run needs Tessera's flag-gated schedule support and an authorized requester."]}} ]}