{"format": "ta-amps.seed-pack.nouns.v1", "pack_id": "exploratory-testing-charters", "status": "proposal_only", "records": [ {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.pack", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.skill_pack", "pack:exploratory-testing-charters", "role:pack", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.skill_pack", "role": "pack", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "A collection of nouns and verbs for exploratory testing in time-boxed sessions", "lets_workers": "Draft time-boxed charters from risks, recent findings or test results; explore one charter per session and take timestamped notes as it happens; turn every bug into a proposed finding and every question into an issue; have a different worker debrief the session; and keep coverage notes that say what was explored and what was not.", "flow": [{"verb": "exploratory-testing-charters.draft-charters", "when": "When a release, a change or a set of findings needs exploring."}, {"verb": "exploratory-testing-charters.run-session", "when": "One charter per session, within its time box, by an agent or a person."}, {"verb": "exploratory-testing-charters.debrief-session", "when": "Right after the session, by a different worker or a person."}, {"verb": "exploratory-testing-charters.map-coverage", "when": "After several sessions, or before deciding to stop exploring."}], "guardrails": ["One mission per charter and one charter per session, inside a time box; running over is recorded with the reason.", "Notes are taken while exploring, with times; a session written up afterwards from memory fails the session checks.", "Every bug becomes a proposed finding with evidence; every open question is recorded as an issue.", "Coverage notes always say what was not explored. Exploring is never called complete.", "Sessions are read-only on live targets; anything that would book, buy or create an account needs a test target a person named."], "worked_examples": [{"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.session-checks", "version": 1, "value_sha256": "9b2e727c5f4f7f8d96c762fb58c2108676cd704fdf3f3a852ed81c9c1f0d731a"}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.example.charter", "version": 1, "value_sha256": "05ba17b9a66665b2e3a08885933507bca46f7e07cdc5b6634bd599cef8d247e4"}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.example.session-notes", "version": 1, "value_sha256": "3e3986b044e3fbe757f4ff5b65bf02595f5398238874e21c7f099026573eb444"}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.example.debrief", "version": 1, "value_sha256": "68bf4874587ea8109d8afb78b2899f81fc95f064b4d4e6b4469ffb7bb69f03e9"}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.example.coverage-notes", "version": 1, "value_sha256": "2518789dba796942606c27482d5114642687e76f7574fb52e2b5bb04b0200ede"}], "complements": ["Scripted acceptance runs go through the user acceptance testing pack; exploration finds what no script asked about.", "Bugs go to the findings to fixes pack; accessibility problems are confirmed with the accessibility audit pack."], "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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.exploratory-testing-charters/exploratory-testing-charters.v0.1.0.method", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.exploratory-testing-charters/exploratory-testing-charters.v0.1.0.charter-guide", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.exploratory-testing-charters/exploratory-testing-charters.v0.1.0.test-ideas", "target_category": "noun.skill_pack", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.exploratory-testing-charters/exploratory-testing-charters.v0.1.0.session-rules", "target_category": "noun.reflex_procedure", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.exploratory-testing-charters/exploratory-testing-charters.v0.1.0.coverage-model", "target_category": "noun.reflex_procedure", "note": ""}, {"relation": "requires_noun", "target_id": "seedpack.exploratory-testing-charters/exploratory-testing-charters.v0.1.0.session-checks", "target_category": "noun.benchmark_suite", "note": ""}]}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.method", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.skill_pack", "pack:exploratory-testing-charters", "role:method", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.skill_pack", "role": "method", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "How exploratory testing runs in charters, sessions and debriefs", "category_reason": "A reusable procedure with guardrails, followed by every verb in this pack.", "lifecycle": ["draft-charters writes missions from risks, findings, acceptance results or audit reports.", "run-session explores one charter within its time box and keeps timestamped notes.", "debrief-session: a different worker or a person asks the debrief questions and confirms the bugs.", "map-coverage combines sessions into coverage notes and proposes charters for the gaps."], "rules": ["Exploration is learning, test design and test execution at the same time; the charter guides it without scripting it.", "A session that drifts off its mission records the drift as a note and a proposed new charter.", "Bugs are problems that threaten the product's value; issues are questions or obstacles that need someone's answer.", "Failures stay on the record; a later session never rewrites an earlier one's notes.", "Workers create nouns and propose verbs; they never enqueue."], "debrief_questions": {"past": "What happened during the session?", "results": "What was found?", "obstacles": "What got in the way?", "outlook": "What still needs doing?", "feelings": "How does the tester feel about the product's quality here?"}, "follow_ups": {"bug": "findings-to-fixes.record-finding", "accessibility": "accessibility-audit.plan-audit"}, "sources": ["Session-based test management, described by Jonathan Bach in 2000: charters, time-boxed sessions, session sheets and debriefs.", "The charter form explore a target, with resources, to discover information, popularized by Elisabeth Hendrickson's book Explore It! (2013).", "Product elements and quality criteria as test-idea prompts, after James Bach's Heuristic Test Strategy Model.", "The wording, rules and examples here are written for this pack."], "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.charter-guide", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.skill_pack", "pack:exploratory-testing-charters", "role:charter_guide", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.skill_pack", "role": "charter_guide", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "How to write an exploratory testing charter", "category_reason": "A reusable method for writing charters.", "form": "Explore a target, with resources, to discover information. For example: explore the sign-up form with only a keyboard to discover where focus gets lost.", "rules": ["One mission per charter, small enough for one time box.", "Name the risks the charter is aimed at and why it matters now, such as a recent fix or a failed acceptance step.", "List resources: personas, devices, settings, data and tools, all synthetic or public.", "Say what is out of scope, so a session that drifts can tell."], "time_boxes": {"short": 45, "normal": 90, "long": 120}, "good_sources": ["Open findings and their fixes", "Failed or blocked acceptance steps", "Accessibility audit cannot_tell results", "Recent changes", "Areas no session has covered"], "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.test-ideas", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.skill_pack", "pack:exploratory-testing-charters", "role:test_ideas", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.skill_pack", "role": "test_ideas", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Prompts for test ideas during a session", "category_reason": "A reusable set of prompts; using them takes judgment.", "product_elements": {"structure": "What it is made of: pages, files, components.", "function": "What it does, including error handling.", "data": "What it takes in and gives out: empty, long, odd characters, other languages.", "interfaces": "How people and other systems reach it: forms, links, APIs, keyboard.", "platform": "What it depends on: browsers, screen sizes, themes, networks.", "operations": "How it is really used: interruptions, back and forward, many tabs.", "time": "What changes over time: timeouts, dates, slow responses, stale pages."}, "quality_criteria": ["capability", "usability", "accessibility", "reliability", "security", "performance", "compatibility", "content"], "tours": [{"name": "keyboard-only tour", "try": "Do every task with Tab, Shift+Tab, Enter, Space and Escape only."}, {"name": "small-screen tour", "try": "Do every task at 320 and 390 pixels wide, in both orientations."}, {"name": "error tour", "try": "Make every mistake a hurried person would, on a test target, and read every message."}, {"name": "back-button tour", "try": "Go back, forward and reload at every step and see what is kept."}, {"name": "slow-network tour", "try": "Throttle the connection and watch for missing progress or double actions."}, {"name": "words tour", "try": "Read every label and message as a newcomer would; note jargon and claims that need checking."}], "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.session-rules", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.reflex_procedure", "pack:exploratory-testing-charters", "role:session_rules", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.reflex_procedure", "role": "session_rules", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Rules every exploratory session follows", "category_reason": "A zero-call rule set for sessions.", "time_box": "Stop at the time box. Up to ten minutes over is allowed to finish a reproduction; record overran and why.", "notes": "At least one timestamped note every fifteen minutes, written as it happens.", "split": "Record the share of time spent on setup, on testing and on investigating and reporting bugs, in whole percents adding to 100.", "bugs": "Every bug has steps a different worker can follow and evidence stored by SHA-256, and becomes a proposed record-finding verb.", "issues": "Every question or obstacle is written as a question someone can answer.", "coverage": "Say what was covered and what was not; never write that everything was covered.", "data": "Synthetic or public data only. On a live target, never book, buy, submit or create an account; that needs a test target a person named.", "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.coverage-model", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.reflex_procedure", "pack:exploratory-testing-charters", "role:coverage_model", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.reflex_procedure", "role": "coverage_model", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Deriving coverage from sessions", "category_reason": "A zero-call rule: the same sessions always give the same coverage.", "grid": "Rows are areas of the product; columns are the quality criteria in the test ideas.", "statuses": {"explored": "At least one debriefed session covered it with its charter done.", "partly": "A session touched it, but the debrief says continue or it was noted as not covered.", "not_explored": "No session covered it.", "out_of_scope": "A person ruled it out, with the reason."}, "gaps": "Every row that is not_explored or partly is a gap; each gap gets a proposed charter.", "never": "A coverage note never says complete; it says what is known as of its date.", "model_calls": 0, "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.session-checks", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.benchmark_suite", "pack:exploratory-testing-charters", "role:record_checks", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.benchmark_suite", "role": "record_checks", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Record checks for session notes, with synthetic golden notes", "category_reason": "Deterministic checks with synthetic known-good and known-bad records; the validator recomputes them.", "fixture_kind": "finding_checks", "purpose": "Checks every exploratory session's notes must pass before its debrief: the exact charter and build, a time box, notes taken during the session, bugs with evidence, questions and honest coverage. The two synthetic good sessions pass; each synthetic bad one fails exactly the one check named in fails.", "deterministic_checks": [{"id": "charter-pinned", "rule": {"rule": "pattern_present", "path": "charter_ref.value_sha256", "pattern": "^[0-9a-f]{64}$"}, "why": "The notes pin the exact charter."}, {"id": "mission-copied", "rule": {"rule": "pattern_present", "path": "charter_mission", "pattern": "^Explore .+ with .+ to discover "}, "why": "The notes repeat the charter's mission."}, {"id": "tester-kind", "rule": {"rule": "enum", "path": "tester_kind", "values": ["agent", "person"]}, "why": "The notes say whether an agent or a person explored."}, {"id": "build-recorded", "rule": {"rule": "present", "path": "build"}, "why": "The exact build is recorded."}, {"id": "time-box-set", "rule": {"rule": "present", "path": "time_box_minutes"}, "why": "The session had a time box."}, {"id": "overrun-explained", "rule": {"rule": "when", "if": {"path": "overran", "equals": true}, "then": {"rule": "present", "path": "overrun_reason"}}, "why": "A session that ran over says why."}, {"id": "notes-kept", "rule": {"rule": "min_items", "path": "notes", "min": 3}, "why": "Notes were taken during the session, not only at the end."}, {"id": "notes-timed", "rule": {"rule": "each_has", "path": "notes", "fields": ["at", "note_kind", "text"]}, "why": "Every note has a time, a kind and text."}, {"id": "bugs-evidenced", "rule": {"rule": "each_has", "path": "bugs", "fields": ["id", "title", "steps", "evidence_sha256"]}, "why": "Every bug has steps and evidence stored by digest."}, {"id": "issues-asked", "rule": {"rule": "each_has", "path": "issues", "fields": ["id", "question"]}, "why": "Every issue is a question someone can answer."}, {"id": "coverage-stated", "rule": {"rule": "min_items", "path": "areas_covered", "min": 1}, "why": "The notes say what was covered."}, {"id": "gaps-stated", "rule": {"rule": "min_items", "path": "areas_not_covered", "min": 1}, "why": "The notes say what was not covered."}, {"id": "split-recorded", "rule": {"rule": "present", "path": "split.test_pct"}, "why": "The time split is recorded."}, {"id": "no-contact-data", "rule": {"rule": "pattern_absent", "path": "$", "pattern": "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}|\\b[0-9]{3}[-. )]{1,2}[0-9]{3}[-. ][0-9]{4}\\b"}, "why": "Notes hold no email addresses or phone numbers."}], "finding_schema": {"type": "object", "additionalProperties": false, "required": ["session_id", "charter_ref", "charter_mission", "tester_role", "tester_kind", "build", "target", "environment", "started_at", "time_box_minutes", "actual_minutes", "overran", "overrun_reason", "split", "notes", "bugs", "issues", "areas_covered", "areas_not_covered", "data_used"], "properties": {"session_id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "charter_ref": {"type": "object", "additionalProperties": false, "required": ["key", "version", "value_sha256"], "properties": {"key": {"type": "string", "minLength": 1, "maxLength": 256}, "version": {"type": "integer", "minimum": 1, "maximum": 1000000000}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "charter_mission": {"type": "string", "minLength": 1, "maxLength": 300}, "tester_role": {"type": "string", "minLength": 1, "maxLength": 120}, "tester_kind": {"type": "string", "enum": ["agent", "person"]}, "build": {"type": "string", "minLength": 1, "maxLength": 120}, "target": {"type": "string", "pattern": "^https?://", "minLength": 8, "maxLength": 300}, "environment": {"type": "string", "minLength": 1, "maxLength": 200}, "started_at": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(:[0-9]{2})?Z$", "maxLength": 30}, "time_box_minutes": {"type": "integer", "minimum": 15, "maximum": 180}, "actual_minutes": {"type": "integer", "minimum": 0, "maximum": 600}, "overran": {"type": "boolean"}, "overrun_reason": {"type": "string", "minLength": 0, "maxLength": 300}, "split": {"type": "object", "additionalProperties": false, "required": ["setup_pct", "test_pct", "bug_pct"], "properties": {"setup_pct": {"type": "integer", "minimum": 0, "maximum": 100}, "test_pct": {"type": "integer", "minimum": 0, "maximum": 100}, "bug_pct": {"type": "integer", "minimum": 0, "maximum": 100}}}, "notes": {"type": "array", "minItems": 0, "maxItems": 80, "items": {"type": "object", "additionalProperties": false, "required": ["at", "note_kind", "text"], "properties": {"at": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(:[0-9]{2})?Z$", "maxLength": 30}, "note_kind": {"type": "string", "enum": ["observation", "test_idea", "question", "bug", "issue", "coverage"]}, "text": {"type": "string", "minLength": 1, "maxLength": 400}}}}, "bugs": {"type": "array", "minItems": 0, "maxItems": 20, "items": {"type": "object", "additionalProperties": false, "required": ["id", "title", "steps", "evidence_sha256"], "properties": {"id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "title": {"type": "string", "minLength": 1, "maxLength": 200}, "steps": {"type": "string", "minLength": 1, "maxLength": 600}, "evidence_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "issues": {"type": "array", "minItems": 0, "maxItems": 20, "items": {"type": "object", "additionalProperties": false, "required": ["id", "question"], "properties": {"id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "question": {"type": "string", "minLength": 1, "maxLength": 300}}}}, "areas_covered": {"type": "array", "minItems": 0, "maxItems": 12, "items": {"type": "string", "minLength": 1, "maxLength": 120}}, "areas_not_covered": {"type": "array", "minItems": 0, "maxItems": 12, "items": {"type": "string", "minLength": 1, "maxLength": 200}}, "data_used": {"type": "array", "minItems": 0, "maxItems": 10, "items": {"type": "string", "minLength": 1, "maxLength": 200}}}}, "golden_fixtures": [{"id": "good-overran", "label": "known_good", "provenance": "synthetic", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "good-on-time", "label": "known_good", "provenance": "synthetic", "finding": {"session_id": "XS-4", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "volunteer coordinator", "tester_kind": "person", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 40, "overran": false, "overrun_reason": "", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [], "issues": [], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-charter-unpinned", "label": "known_bad", "fails": "charter-pinned", "why": "No exact charter.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "current"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-mission-missing", "label": "known_bad", "fails": "mission-copied", "why": "The mission is not repeated in the charter's form.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Poke around the form.", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-tester-kind", "label": "known_bad", "fails": "tester-kind", "why": "Neither agent nor person.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "team", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-no-build", "label": "known_bad", "fails": "build-recorded", "why": "No build.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-no-time-box", "label": "known_bad", "fails": "time-box-set", "why": "No time box.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-overrun-silent", "label": "known_bad", "fails": "overrun-explained", "why": "Ran over with no reason.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-notes-after", "label": "known_bad", "fails": "notes-kept", "why": "One note written at the end.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:50Z", "note_kind": "observation", "text": "All fine."}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-note-untimed", "label": "known_bad", "fails": "notes-timed", "why": "A note with no time.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}, {"at": "", "note_kind": "observation", "text": "Saw something."}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-bug-no-evidence", "label": "known_bad", "fails": "bugs-evidenced", "why": "A bug with no evidence.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-2", "title": "Odd spacing.", "steps": "", "evidence_sha256": ""}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-issue-empty", "label": "known_bad", "fails": "issues-asked", "why": "An issue with no question.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-2", "question": ""}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-no-coverage", "label": "known_bad", "fails": "coverage-stated", "why": "Nothing said about coverage.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": [], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-no-gaps", "label": "known_bad", "fails": "gaps-stated", "why": "Claims nothing was left uncovered.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": [], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-no-split", "label": "known_bad", "fails": "split-recorded", "why": "No time split.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["Test Volunteer C (synthetic)"]}}, {"id": "bad-contact-data", "label": "known_bad", "fails": "no-contact-data", "why": "A personal email address in the test data.", "finding": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the sign-up form with a keyboard to discover lost input", "tester_role": "test agent", "tester_kind": "agent", "build": "2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium, 390 px, slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Second reproduction.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order is fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Back clears the name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held during an error?"}], "bugs": [{"id": "XB-1", "title": "Back clears the name fields.", "steps": "Leave name empty, Confirm, then Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a shift held during an error?"}], "areas_covered": ["sign-up errors"], "areas_not_covered": ["screen reader"], "data_used": ["kim.real@mailbox.net"]}}], "expected": {"good-overran": {"verdict": "pass", "failed_checks": []}, "good-on-time": {"verdict": "pass", "failed_checks": []}, "bad-charter-unpinned": {"verdict": "fail", "failed_checks": ["charter-pinned"]}, "bad-mission-missing": {"verdict": "fail", "failed_checks": ["mission-copied"]}, "bad-tester-kind": {"verdict": "fail", "failed_checks": ["tester-kind"]}, "bad-no-build": {"verdict": "fail", "failed_checks": ["build-recorded"]}, "bad-no-time-box": {"verdict": "fail", "failed_checks": ["time-box-set"]}, "bad-overrun-silent": {"verdict": "fail", "failed_checks": ["overrun-explained"]}, "bad-notes-after": {"verdict": "fail", "failed_checks": ["notes-kept"]}, "bad-note-untimed": {"verdict": "fail", "failed_checks": ["notes-timed"]}, "bad-bug-no-evidence": {"verdict": "fail", "failed_checks": ["bugs-evidenced"]}, "bad-issue-empty": {"verdict": "fail", "failed_checks": ["issues-asked"]}, "bad-no-coverage": {"verdict": "fail", "failed_checks": ["coverage-stated"]}, "bad-no-gaps": {"verdict": "fail", "failed_checks": ["gaps-stated"]}, "bad-no-split": {"verdict": "fail", "failed_checks": ["split-recorded"]}, "bad-contact-data": {"verdict": "fail", "failed_checks": ["no-contact-data"]}}, "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.template.charter", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.seed_hypothesis", "pack:exploratory-testing-charters", "role:template", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.seed_hypothesis", "role": "template", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Template: an exploratory testing charter: one mission, its resources, risks and time box", "category_reason": "A charter is a hypothesis about where problems may be, to be explored.", "describes": "an exploratory testing charter: one mission, its resources, risks and time box", "schema": {"type": "object", "additionalProperties": false, "required": ["charter_id", "mission", "target", "build", "areas", "resources", "risks", "time_box", "time_box_minutes", "test_ideas", "out_of_scope", "priority", "why_now"], "properties": {"charter_id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "mission": {"type": "string", "pattern": "^Explore .+ with .+ to discover .+", "minLength": 20, "maxLength": 300}, "target": {"type": "string", "minLength": 1, "maxLength": 200}, "build": {"type": "string", "minLength": 1, "maxLength": 120}, "areas": {"type": "array", "minItems": 1, "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 120}}, "resources": {"type": "array", "minItems": 1, "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 200}}, "risks": {"type": "array", "minItems": 1, "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 300}}, "time_box": {"type": "string", "enum": ["short", "normal", "long"]}, "time_box_minutes": {"type": "integer", "minimum": 15, "maximum": 180}, "test_ideas": {"type": "array", "minItems": 0, "maxItems": 12, "items": {"type": "string", "minLength": 1, "maxLength": 300}}, "out_of_scope": {"type": "array", "minItems": 0, "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 300}}, "priority": {"type": "integer", "minimum": 1, "maximum": 3}, "why_now": {"type": "string", "minLength": 1, "maxLength": 300}}}, "rules": ["mission follows the form explore, with, to discover.", "time_box_minutes matches the time_box size."], "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.template.session-notes", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.eval_run", "pack:exploratory-testing-charters", "role:template", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.eval_run", "role": "template", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Template: the notes of one time-boxed exploratory session", "category_reason": "Session notes are a recorded run.", "describes": "the notes of one time-boxed exploratory session", "schema": {"type": "object", "additionalProperties": false, "required": ["session_id", "charter_ref", "charter_mission", "tester_role", "tester_kind", "build", "target", "environment", "started_at", "time_box_minutes", "actual_minutes", "overran", "overrun_reason", "split", "notes", "bugs", "issues", "areas_covered", "areas_not_covered", "data_used"], "properties": {"session_id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "charter_ref": {"type": "object", "additionalProperties": false, "required": ["key", "version", "value_sha256"], "properties": {"key": {"type": "string", "minLength": 1, "maxLength": 256}, "version": {"type": "integer", "minimum": 1, "maximum": 1000000000}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "charter_mission": {"type": "string", "minLength": 1, "maxLength": 300}, "tester_role": {"type": "string", "minLength": 1, "maxLength": 120}, "tester_kind": {"type": "string", "enum": ["agent", "person"]}, "build": {"type": "string", "minLength": 1, "maxLength": 120}, "target": {"type": "string", "pattern": "^https?://", "minLength": 8, "maxLength": 300}, "environment": {"type": "string", "minLength": 1, "maxLength": 200}, "started_at": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(:[0-9]{2})?Z$", "maxLength": 30}, "time_box_minutes": {"type": "integer", "minimum": 15, "maximum": 180}, "actual_minutes": {"type": "integer", "minimum": 0, "maximum": 600}, "overran": {"type": "boolean"}, "overrun_reason": {"type": "string", "minLength": 0, "maxLength": 300}, "split": {"type": "object", "additionalProperties": false, "required": ["setup_pct", "test_pct", "bug_pct"], "properties": {"setup_pct": {"type": "integer", "minimum": 0, "maximum": 100}, "test_pct": {"type": "integer", "minimum": 0, "maximum": 100}, "bug_pct": {"type": "integer", "minimum": 0, "maximum": 100}}}, "notes": {"type": "array", "minItems": 0, "maxItems": 80, "items": {"type": "object", "additionalProperties": false, "required": ["at", "note_kind", "text"], "properties": {"at": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(:[0-9]{2})?Z$", "maxLength": 30}, "note_kind": {"type": "string", "enum": ["observation", "test_idea", "question", "bug", "issue", "coverage"]}, "text": {"type": "string", "minLength": 1, "maxLength": 400}}}}, "bugs": {"type": "array", "minItems": 0, "maxItems": 20, "items": {"type": "object", "additionalProperties": false, "required": ["id", "title", "steps", "evidence_sha256"], "properties": {"id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "title": {"type": "string", "minLength": 1, "maxLength": 200}, "steps": {"type": "string", "minLength": 1, "maxLength": 600}, "evidence_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}}, "issues": {"type": "array", "minItems": 0, "maxItems": 20, "items": {"type": "object", "additionalProperties": false, "required": ["id", "question"], "properties": {"id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "question": {"type": "string", "minLength": 1, "maxLength": 300}}}}, "areas_covered": {"type": "array", "minItems": 0, "maxItems": 12, "items": {"type": "string", "minLength": 1, "maxLength": 120}}, "areas_not_covered": {"type": "array", "minItems": 0, "maxItems": 12, "items": {"type": "string", "minLength": 1, "maxLength": 200}}, "data_used": {"type": "array", "minItems": 0, "maxItems": 10, "items": {"type": "string", "minLength": 1, "maxLength": 200}}}}, "rules": ["The notes pass the session checks.", "The split adds up to 100."], "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.template.debrief", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.eval_run", "pack:exploratory-testing-charters", "role:template", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.eval_run", "role": "template", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Template: a different worker's debrief of one session", "category_reason": "A debrief is a recorded review.", "describes": "a different worker's debrief of one session", "schema": {"type": "object", "additionalProperties": false, "required": ["debrief_id", "session_ref", "debriefer_role", "distinct_from_tester", "at", "past", "results", "obstacles", "outlook", "feelings", "bugs_confirmed", "bugs_questioned", "new_charters", "verdict"], "properties": {"debrief_id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "session_ref": {"type": "object", "additionalProperties": false, "required": ["key", "version", "value_sha256"], "properties": {"key": {"type": "string", "minLength": 1, "maxLength": 256}, "version": {"type": "integer", "minimum": 1, "maximum": 1000000000}, "value_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}}}, "debriefer_role": {"type": "string", "minLength": 1, "maxLength": 120}, "distinct_from_tester": {"type": "boolean"}, "at": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(:[0-9]{2})?Z$", "maxLength": 30}, "past": {"type": "string", "minLength": 1, "maxLength": 600}, "results": {"type": "string", "minLength": 1, "maxLength": 600}, "obstacles": {"type": "string", "minLength": 1, "maxLength": 600}, "outlook": {"type": "string", "minLength": 1, "maxLength": 600}, "feelings": {"type": "string", "minLength": 1, "maxLength": 400}, "bugs_confirmed": {"type": "array", "minItems": 0, "maxItems": 20, "items": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}}, "bugs_questioned": {"type": "array", "minItems": 0, "maxItems": 20, "items": {"type": "object", "additionalProperties": false, "required": ["id", "why"], "properties": {"id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "why": {"type": "string", "minLength": 1, "maxLength": 300}}}}, "new_charters": {"type": "array", "minItems": 0, "maxItems": 8, "items": {"type": "string", "pattern": "^Explore .+ with .+ to discover .+", "minLength": 20, "maxLength": 300}}, "verdict": {"type": "string", "enum": ["charter_done", "charter_continue", "charter_abandoned"]}}}, "rules": ["distinct_from_tester is true.", "Every bug in the session is confirmed or questioned."], "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.template.coverage-notes", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.eval_run", "pack:exploratory-testing-charters", "role:template", "content:authored", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.eval_run", "role": "template", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Template: what has and has not been explored, by area and quality criterion", "category_reason": "Coverage notes are a deterministic evaluation of sessions.", "describes": "what has and has not been explored, by area and quality criterion", "schema": {"type": "object", "additionalProperties": false, "required": ["coverage_id", "as_of", "sessions", "rows", "gaps", "proposed_charters", "open_bugs"], "properties": {"coverage_id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}, "as_of": {"type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(:[0-9]{2})?Z$", "maxLength": 30}, "sessions": {"type": "array", "minItems": 1, "maxItems": 60, "items": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}}, "rows": {"type": "array", "minItems": 1, "maxItems": 120, "items": {"type": "object", "additionalProperties": false, "required": ["area", "characteristic", "status", "sessions", "note"], "properties": {"area": {"type": "string", "minLength": 1, "maxLength": 120}, "characteristic": {"type": "string", "enum": ["capability", "usability", "accessibility", "reliability", "security", "performance", "compatibility", "content"]}, "status": {"type": "string", "enum": ["explored", "partly", "not_explored", "out_of_scope"]}, "sessions": {"type": "array", "minItems": 0, "maxItems": 20, "items": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,40}$"}}, "note": {"type": "string", "minLength": 0, "maxLength": 300}}}}, "gaps": {"type": "array", "minItems": 0, "maxItems": 30, "items": {"type": "string", "minLength": 1, "maxLength": 300}}, "proposed_charters": {"type": "array", "minItems": 0, "maxItems": 10, "items": {"type": "string", "pattern": "^Explore .+ with .+ to discover .+", "minLength": 20, "maxLength": 300}}, "open_bugs": {"type": "integer", "minimum": 0, "maximum": 200}}}, "rules": ["Every gap has a proposed charter.", "Statuses follow the coverage model."], "status": "proposal", "admission": "not_admitted", "content_kind": "authored_guidance", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.example.charter", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.seed_hypothesis", "pack:exploratory-testing-charters", "role:example", "synthetic:true", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.seed_hypothesis", "role": "example", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Worked example: a keyboard and slow-network charter", "category_reason": "A synthetic instance in the template's shape.", "conforms_to": {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.template.charter", "version": 1, "value_sha256": "e8dc3f9a189df749953fba2941b20b50d41926d9d4db96dd59e41289a2fa61fc"}, "instance": {"charter_id": "XC-7", "mission": "Explore the shift sign-up form's error handling with only a keyboard and a slow connection to discover where volunteers get stuck", "target": "The synthetic pantry volunteer site, test target only for confirming", "build": "site build 2026-10-30.3", "areas": ["shift sign-up form", "error messages"], "resources": ["Retired volunteer who uses only a keyboard (persona P-2)", "Chromium at 390 pixels", "Slow 3G throttling", "Test Volunteer C (synthetic)"], "risks": ["Errors that clear what was typed", "Errors announced only by color"], "time_box": "short", "time_box_minutes": 45, "test_ideas": ["Leave each required field empty in turn", "Go back after an error", "Submit twice on a slow connection, on the test target"], "out_of_scope": ["Screen reader announcements; a separate charter"], "priority": 1, "why_now": "The acceptance run failed AC-3 on this form last week, and the fix landed today."}, "shows": "One mission in the charter's form, aimed at named risks, with resources, a time box and what is out of scope.", "source": "Synthetic. Written for this pack; every name, address, number and identifier is made up.", "status": "proposal", "admission": "not_admitted", "content_kind": "synthetic_example", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.example.session-notes", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.eval_run", "pack:exploratory-testing-charters", "role:example", "synthetic:true", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.eval_run", "role": "example", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Worked example: session notes with a bug, a question and honest gaps", "category_reason": "A synthetic instance in the template's shape.", "conforms_to": {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.template.session-notes", "version": 1, "value_sha256": "0372a1bf2c42e84afc908cb216ff7b50d5b427c379ca1ae46253ece33bf26a90"}, "instance": {"session_id": "XS-3", "charter_ref": {"key": "exploratory-testing-charters.charter.t-7", "version": 1, "value_sha256": "e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778e1d2c3b4a5968778"}, "charter_mission": "Explore the shift sign-up form's error handling with only a keyboard and a slow connection to discover where volunteers get stuck", "tester_role": "exploratory test agent", "tester_kind": "agent", "build": "site build 2026-10-30.3", "target": "https://pantry.example.invalid/shifts", "environment": "Chromium 140 at 390 pixels, network throttled to slow 3G", "started_at": "2026-10-30T19:00Z", "time_box_minutes": 45, "actual_minutes": 50, "overran": true, "overrun_reason": "Reproduced the lost-input bug a second time with a fresh session.", "split": {"setup_pct": 10, "test_pct": 60, "bug_pct": 30}, "notes": [{"at": "2026-10-30T19:04Z", "note_kind": "observation", "text": "Tab order reaches the week picker before the shift list; fine."}, {"at": "2026-10-30T19:15Z", "note_kind": "bug", "text": "Pressing Back after an error clears both name fields."}, {"at": "2026-10-30T19:31Z", "note_kind": "question", "text": "Is a shift held while the volunteer fixes an error?"}, {"at": "2026-10-30T19:44Z", "note_kind": "coverage", "text": "Did not try a screen reader; out of this charter's resources."}], "bugs": [{"id": "XB-1", "title": "Back after a form error clears the name fields.", "steps": "Open /shifts on the test target, choose a shift, leave the name empty, press Enter on Confirm, then press Alt+Left.", "evidence_sha256": "2c4e6a8b0d1f3a5c7e9b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a0c2e4b6d8f0a1c"}], "issues": [{"id": "XI-1", "question": "Is a chosen shift held while the volunteer fixes an error, and for how long?"}], "areas_covered": ["error messages on the sign-up form", "keyboard order on /shifts"], "areas_not_covered": ["screen reader announcements of errors", "the dark theme"], "data_used": ["Test Volunteer C (synthetic)"]}, "shows": "Notes taken during the session, an overrun with its reason, a bug with steps and evidence, a question and what was not covered.", "source": "Synthetic. Written for this pack; every name, address, number and identifier is made up.", "status": "proposal", "admission": "not_admitted", "content_kind": "synthetic_example", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.example.debrief", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.eval_run", "pack:exploratory-testing-charters", "role:example", "synthetic:true", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.eval_run", "role": "example", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Worked example: a debrief that confirms the bug and asks for one more charter", "category_reason": "A synthetic instance in the template's shape.", "conforms_to": {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.template.debrief", "version": 1, "value_sha256": "b5638877acca24e373cca0b900c6adc5b87134205cc513154d3c1a8098e892fa"}, "instance": {"debrief_id": "XD-3", "session_ref": {"key": "exploratory-testing-charters.session_notes.t-8", "version": 1, "value_sha256": "5f4e3d2c1b0a99885f4e3d2c1b0a99885f4e3d2c1b0a99885f4e3d2c1b0a9988"}, "debriefer_role": "volunteer coordinator", "distinct_from_tester": true, "at": "2026-10-30T19:58Z", "past": "Forty-five minutes on the sign-up form at 390 pixels on a slow connection, keyboard only, plus five to reproduce.", "results": "One bug, lost input after Back, and one open question about holding a shift.", "obstacles": "Confirming needs the test target, which was slow to reset.", "outlook": "Screen reader announcements of errors are still unexplored.", "feelings": "The form works, but a hurried volunteer would lose their typing and give up.", "bugs_confirmed": ["XB-1"], "bugs_questioned": [], "new_charters": ["Explore the sign-up form's error messages with a screen reader to discover what is announced and when"], "verdict": "charter_done"}, "shows": "The five debrief questions answered by a different person, the bug confirmed and the gap turned into a new charter.", "source": "Synthetic. Written for this pack; every name, address, number and identifier is made up.", "status": "proposal", "admission": "not_admitted", "content_kind": "synthetic_example", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}}, {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.example.coverage-notes", "expected_version": 0, "producer_surface": "surface:tessera", "visibility_scope": "surface_only", "allowed_surfaces": [], "target_cohorts": ["all"], "tags": ["category:noun.eval_run", "pack:exploratory-testing-charters", "role:example", "synthetic:true", "spdx:MIT", "status:quarantined"], "value": {"category_id": "noun.eval_run", "role": "example", "pack": "exploratory-testing-charters", "pack_version": "0.1.0", "title": "Worked example: coverage after three sessions", "category_reason": "A synthetic instance in the template's shape.", "conforms_to": {"store": "seedpack.exploratory-testing-charters", "key": "exploratory-testing-charters.v0.1.0.template.coverage-notes", "version": 1, "value_sha256": "2e89a0909b779506c37bafadfe8baf89392c5fd3a0de342afdb37c3a283bdb65"}, "instance": {"coverage_id": "XV-1", "as_of": "2026-10-30T20:10Z", "sessions": ["XS-1", "XS-2", "XS-3"], "rows": [{"area": "shift sign-up form", "characteristic": "capability", "status": "explored", "sessions": ["XS-1", "XS-3"], "note": ""}, {"area": "shift sign-up form", "characteristic": "accessibility", "status": "partly", "sessions": ["XS-3"], "note": "Keyboard covered; screen reader not."}, {"area": "shift sign-up form", "characteristic": "reliability", "status": "explored", "sessions": ["XS-3"], "note": "Slow network and Back button."}, {"area": "visit page", "characteristic": "content", "status": "not_explored", "sessions": [], "note": ""}, {"area": "volunteer accounts", "characteristic": "security", "status": "out_of_scope", "sessions": [], "note": "The site has no accounts; ruled out by the program manager."}], "gaps": ["Screen reader announcements on the sign-up form", "Wording and claims on the visit page"], "proposed_charters": ["Explore the sign-up form's error messages with a screen reader to discover what is announced and when", "Explore the visit page's wording with a newcomer persona to discover jargon and claims that need checking"], "open_bugs": 1}, "shows": "Statuses by area and quality criterion, every gap with a proposed charter and nothing called complete.", "source": "Synthetic. Written for this pack; every name, address, number and identifier is made up.", "status": "proposal", "admission": "not_admitted", "content_kind": "synthetic_example", "license": "MIT", "provenance": {"source": "original ta-amps authored proposal", "license": "MIT", "generator": "scripts/build_packs.py", "independently_verified": false}, "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": []}} ]}