{
  "_ai_door": {
    "see": "https://miscsubjects.com/start",
    "note": "Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."
  },
  "task": {
    "task_id": "WT-0104",
    "kind": "repair",
    "objective": "Restore the Google write path so the build can create and plot Google Sheets again.",
    "detail": "Two independent failures found 2026-09-02 while adding gold plotting. (1) The clasp refresh token in ~/.clasprc.json and the gcloud ADC both return invalid_grant / invalid_rapt, an organisation reauth policy, so the Apps Script API refuses a content push. (2) AIRUNNER_WEB_APP_URL now returns a Google 404 HTML page, so APPS_SCRIPT_RUN fails on ping, before any action name is even considered. Failure class: credential_expiry_and_dead_deployment. Layer: google_oauth plus the apps_script web app deployment. Missing invariant: nothing checks that the Google credential still mints a token or that AIRUNNER_WEB_APP_URL still answers, so both failed silently until work needed them. Repair already staged: sheets_create and sheets_chart are written and committed at apps-script/Code.gs in d0e40c3a0 and take effect on the first successful push. Regression test to add: a scheduled probe that mints a Google token and calls APPS_SCRIPT_RUN ping, failing loudly.",
    "state": "superseded",
    "priority": 2,
    "revision": 2,
    "depends_on": [],
    "permitted_capabilities": [],
    "acceptance_tests": "APPS_SCRIPT_RUN ping returns ok:true, and a sheets_create call returns a new spreadsheet url that loads.",
    "required_evidence": [],
    "parent_task": null,
    "supersedes": null,
    "failure": null,
    "failure_count": 0,
    "last_result": null,
    "completed_at": null,
    "created_at": "2026-09-02T18:10:36-07:00",
    "updated_at": "2026-09-05T22:39:04-07:00",
    "audit": "/api/work/task/WT-0104/audit",
    "submit_to": "/api/work/task/WT-0104/submit"
  }
}