[{"data":1,"prerenderedAt":1164},["ShallowReactive",2],{"navigation_docs":3,"-delivery-program-manager-chinwag-tasks-and-never-stop":234,"-delivery-program-manager-chinwag-tasks-and-never-stop-surround":1159},[4,26,47,68,89,114,135,164,181,210],{"title":5,"path":6,"stem":7,"children":8,"page":25},"1. Getting Started & Pricing","\u002Fgetting-started","01.getting-started",[9,13,17,21],{"title":10,"path":11,"stem":12},"1.1 5-Minute Quickstart","\u002Fgetting-started\u002Fquickstart","01.getting-started\u002F1.quickstart",{"title":14,"path":15,"stem":16},"1.2 Project Boards Setup","\u002Fgetting-started\u002Fboard-init","01.getting-started\u002F2.board-init",{"title":18,"path":19,"stem":20},"1.3 GitHub Actions & GitLab CI Runner Setup","\u002Fgetting-started\u002Fci-runners","01.getting-started\u002F3.ci-runners",{"title":22,"path":23,"stem":24},"1.4 Organization Credit Pool & Per-Function Credit Pricing","\u002Fgetting-started\u002Forg-credits-and-slack","01.getting-started\u002F4.org-credits-and-slack",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"2. Pair & Triad Programming","\u002Fpair-and-triad-programming","02.pair-and-triad-programming",[31,35,39,43],{"title":32,"path":33,"stem":34},"2.1 Cross-Model Pair & Triad Programming","\u002Fpair-and-triad-programming\u002Foverview","02.pair-and-triad-programming\u002F1.overview",{"title":36,"path":37,"stem":38},"2.2 Isolated Shadow Workspaces","\u002Fpair-and-triad-programming\u002Fshadow-jj-workspaces","02.pair-and-triad-programming\u002F2.shadow-jj-workspaces",{"title":40,"path":41,"stem":42},"2.3 Cryptographic File-Scope Leases & Small-Diff Gates","\u002Fpair-and-triad-programming\u002Ffile-scope-leases","02.pair-and-triad-programming\u002F3.file-scope-leases",{"title":44,"path":45,"stem":46},"2.4 Sub-Issue to Subagent Fan-Out & Delta Velocity","\u002Fpair-and-triad-programming\u002Fsub-issue-fanout","02.pair-and-triad-programming\u002F4.sub-issue-fanout",{"title":48,"path":49,"stem":50,"children":51,"page":25},"3. Declarative Workflow Policy","\u002Fworkflow-policy","03.workflow-policy",[52,56,60,64],{"title":53,"path":54,"stem":55},"3.1 Declarative Workflow Policy Schema","\u002Fworkflow-policy\u002Fschema-reference","03.workflow-policy\u002F1.schema-reference",{"title":57,"path":58,"stem":59},"3.2 Cryptographic Conformance Matrix & Memory Tombstones","\u002Fworkflow-policy\u002Fwp-01-to-wp-15-matrix","03.workflow-policy\u002F2.wp-01-to-wp-15-matrix",{"title":61,"path":62,"stem":63},"3.3 Two-Tier Organization Governance Lattice","\u002Fworkflow-policy\u002Forg-policy-floor","03.workflow-policy\u002F3.org-policy-floor",{"title":65,"path":66,"stem":67},"3.4 Trusted Handoff Hooks & Independent Verification","\u002Fworkflow-policy\u002Fhandoff-hooks-h1-to-h5","03.workflow-policy\u002F4.handoff-hooks-h1-to-h5",{"title":69,"path":70,"stem":71,"children":72,"page":25},"4. Visual Geometry & Copy Gates","\u002Fvisual-and-copy-tribunals","04.visual-and-copy-tribunals",[73,77,81,85],{"title":74,"path":75,"stem":76},"12-Tuple DOM Geometry (176\u002F176)","\u002Fvisual-and-copy-tribunals\u002Fui-gate-geometry","04.visual-and-copy-tribunals\u002F1.ui-gate-geometry",{"title":78,"path":79,"stem":80},"Vision-3 Geometry & Auto-Patch","\u002Fvisual-and-copy-tribunals\u002Fcross-model-design-tribunal","04.visual-and-copy-tribunals\u002F2.cross-model-design-tribunal",{"title":82,"path":83,"stem":84},"64\u002F64 Declaration Copy Gate","\u002Fvisual-and-copy-tribunals\u002Fdeclaration-copy-gate","04.visual-and-copy-tribunals\u002F3.declaration-copy-gate",{"title":86,"path":87,"stem":88},"Synthetic CI Canary","\u002Fvisual-and-copy-tribunals\u002Fsynthetic-ci-canary","04.visual-and-copy-tribunals\u002F4.synthetic-ci-canary",{"title":90,"path":91,"stem":92,"children":93,"page":25},"5. Autonomous AI Program Manager","\u002Fdelivery-program-manager","05.delivery-program-manager",[94,98,102,106,110],{"title":95,"path":96,"stem":97},"Overview: Dual-Brain AI PM","\u002Fdelivery-program-manager\u002Foverview","05.delivery-program-manager\u002F1.overview",{"title":99,"path":100,"stem":101},"Executable Tickets & Auto-Splitting","\u002Fdelivery-program-manager\u002Fchinwag-tasks-and-never-stop","05.delivery-program-manager\u002F2.chinwag-tasks-and-never-stop",{"title":103,"path":104,"stem":105},".codegraph & FinOps Routing","\u002Fdelivery-program-manager\u002Fcodegraph-and-finops-arbitrage","05.delivery-program-manager\u002F3.codegraph-and-finops-arbitrage",{"title":107,"path":108,"stem":109},"++ Triage & CI Recovery","\u002Fdelivery-program-manager\u002Fplus-plus-ci-triage","05.delivery-program-manager\u002F4.plus-plus-ci-triage",{"title":111,"path":112,"stem":113},"Flight Deck & Trajectory Time-Travel","\u002Fdelivery-program-manager\u002Fflight-deck-and-time-travel","05.delivery-program-manager\u002F5.flight-deck-and-time-travel",{"title":115,"path":116,"stem":117,"children":118,"page":25},"6. The Chinwag Way & Scrimmages","\u002Fthe-chinwag-way","06.the-chinwag-way",[119,123,127,131],{"title":120,"path":121,"stem":122},"Academic Foundations","\u002Fthe-chinwag-way\u002Facademic-foundations","06.the-chinwag-way\u002F1.academic-foundations",{"title":124,"path":125,"stem":126},"Chips (◈) & 7-Day Survival","\u002Fthe-chinwag-way\u002Fchips-and-7day-survival","06.the-chinwag-way\u002F2.chips-and-7day-survival",{"title":128,"path":129,"stem":130},"Sealed Card (.cwcard.png) Drills","\u002Fthe-chinwag-way\u002Fsealed-card-handoff-drills","06.the-chinwag-way\u002F3.sealed-card-handoff-drills",{"title":132,"path":133,"stem":134},"Calibration Scrimmages","\u002Fthe-chinwag-way\u002Fcalibration-scrimmages","06.the-chinwag-way\u002F4.calibration-scrimmages",{"title":136,"path":137,"stem":138,"children":139,"page":25},"7. Zero-Knowledge Cryptography","\u002Fzero-knowledge-cryptography","07.zero-knowledge-cryptography",[140,144,148,152,156,160],{"title":141,"path":142,"stem":143},"PQ-HPKE Wire Envelope","\u002Fzero-knowledge-cryptography\u002Fpq-hpke-envelope","07.zero-knowledge-cryptography\u002F1.pq-hpke-envelope",{"title":145,"path":146,"stem":147},"Verify-Before-Decrypt (K1+K2)","\u002Fzero-knowledge-cryptography\u002Fverify-before-decrypt","07.zero-knowledge-cryptography\u002F2.verify-before-decrypt",{"title":149,"path":150,"stem":151},"Blinded Commitments & 128B Flywheel","\u002Fzero-knowledge-cryptography\u002Fblind-commitments","07.zero-knowledge-cryptography\u002F3.blind-commitments",{"title":153,"path":154,"stem":155},"Local Viewer & CISO DPA","\u002Fzero-knowledge-cryptography\u002Flocal-viewer-and-dpa","07.zero-knowledge-cryptography\u002F4.local-viewer-and-dpa",{"title":157,"path":158,"stem":159},"A.509 Agent Passports","\u002Fzero-knowledge-cryptography\u002Fa509-agent-pkix","07.zero-knowledge-cryptography\u002F5.a509-agent-pkix",{"title":161,"path":162,"stem":163},"chinwag-acu & CISO Kill Switch","\u002Fzero-knowledge-cryptography\u002Fchinwag-acu","07.zero-knowledge-cryptography\u002F6.chinwag-acu",{"title":165,"path":166,"stem":167,"children":168,"page":25},"8. E2EE Mesh & Extension SDK","\u002Fmesh-and-extensions","08.mesh-and-extensions",[169,173,177],{"title":170,"path":171,"stem":172},"chinwag-mesh & 3-Repo Time Machine","\u002Fmesh-and-extensions\u002Fsdk-and-cwcard-png-transport","08.mesh-and-extensions\u002F1.sdk-and-cwcard-png-transport",{"title":174,"path":175,"stem":176},"warroom & whisper Extensions","\u002Fmesh-and-extensions\u002Fwarroom-and-whisper","08.mesh-and-extensions\u002F2.warroom-and-whisper",{"title":178,"path":179,"stem":180},"teleport, shroud & vault","\u002Fmesh-and-extensions\u002Fgit-bundle-and-vault","08.mesh-and-extensions\u002F3.git-bundle-and-vault",{"title":182,"path":183,"stem":184,"children":185,"page":25},"9. CLI & GraphQL Reference","\u002Fcli-and-graphql-reference","09.cli-and-graphql-reference",[186,190,194,198,202,206],{"title":187,"path":188,"stem":189},"chinwag tasks & task","\u002Fcli-and-graphql-reference\u002Fchinwag-task","09.cli-and-graphql-reference\u002F1.chinwag-task",{"title":191,"path":192,"stem":193},"chinwag board & GraphQL","\u002Fcli-and-graphql-reference\u002Fchinwag-board","09.cli-and-graphql-reference\u002F2.chinwag-board",{"title":195,"path":196,"stem":197},"chinwag pair & triad","\u002Fcli-and-graphql-reference\u002Fchinwag-pair-and-triad","09.cli-and-graphql-reference\u002F3.chinwag-pair-and-triad",{"title":199,"path":200,"stem":201},"chinwag bus","\u002Fcli-and-graphql-reference\u002Fchinwag-bus","09.cli-and-graphql-reference\u002F4.chinwag-bus",{"title":203,"path":204,"stem":205},"chinwag-ci, fork-run & ui-gate","\u002Fcli-and-graphql-reference\u002Fchinwag-ci-and-uigate","09.cli-and-graphql-reference\u002F5.chinwag-ci-and-uigate",{"title":207,"path":208,"stem":209},"chinwag memory & tombstone","\u002Fcli-and-graphql-reference\u002Fchinwag-memory","09.cli-and-graphql-reference\u002F6.chinwag-memory",{"title":211,"path":212,"stem":213,"children":214,"page":-1},"10. Architecture PRDs","\u002Fprds","10.prds",[215,218,222,226,230],{"title":216,"path":212,"stem":217},"10.0 Ratified Architecture PRDs","10.prds\u002Findex",{"title":219,"path":220,"stem":221},"10.1 Ephemeral Tart Cleanroom VMs & Declarative Nix","\u002Fprds\u002Ftart-cleanroom-vms","10.prds\u002F1.tart-cleanroom-vms",{"title":223,"path":224,"stem":225},"10.2 Executable Delivery Boards & Proof-of-Green","\u002Fprds\u002Fdelivery-executable-boards","10.prds\u002F2.delivery-executable-boards",{"title":227,"path":228,"stem":229},"10.3 Cursor Agent SDK Importer & Sanitizer","\u002Fprds\u002Fcursor-agent-sdk-importer","10.prds\u002F3.cursor-agent-sdk-importer",{"title":231,"path":232,"stem":233},"10.4 Chinwag Local Web App & Command Center","\u002Fprds\u002Fhuman-command-center-ui","10.prds\u002F4.human-command-center-ui",{"id":235,"title":236,"body":237,"command":250,"description":1152,"extension":1153,"links":1154,"meta":1155,"navigation":1156,"path":100,"seo":1157,"stem":101,"__hash__":1158},"docs\u002F05.delivery-program-manager\u002F2.chinwag-tasks-and-never-stop.md","5.2 Executable Tickets & Proof-of-Green Gate",{"type":238,"value":239,"toc":1141},"minimark",[240,244,251,258,305,373,376,387,597,682,684,692,699,818,820,828,835,861,869,871,881,887,1039,1106,1108,1112,1137],[241,242,236],"h1",{"id":243},"_52-executable-tickets-proof-of-green-gate",[245,246,247],"p",{},[248,249,250],"code",{},"chinwag tasks split --max-loc 150 --verify-green",[245,252,253,254,257],{},"Traditional issue trackers store engineering tickets in cloud databases that AI coding agents cannot branch, diff, or transactionally lock alongside source code, allowing agents to mark tickets ",[248,255,256],{},"\"Done\""," while tests are still failing or code hasn't even compiled.",[245,259,260,261,265,266,269,270,277,278,285,286,289,290,293,294,297,298,304],{},"Chinwag pairs your existing ",[262,263,264],"strong",{},"Linear"," or ",[262,267,268],{},"GitHub Projects v2"," board with ",[262,271,272,273,276],{},"Executable Tickets (",[248,274,275],{},"\u003Corg>\u002Fchinwag-tasks.git"," in the Chinwag Encrypted Artifact Store)"," · a ",[262,279,280,281,284],{},"100% webhook-free (",[248,282,283],{},"INV-ZERO-WEBHOOKS-01",")",", Git-native repository where every Linear Issue (",[248,287,288],{},"ENG-402",") and GitHub Project Item (",[248,291,292],{},"#142",") is backed by a live cryptographic capsule, a zero-copy ",[248,295,296],{},"repo.fork()"," sandbox, a pre-warmed Shadow-KV prefix, and a synchronous ",[262,299,300,301,284],{},"Cryptographic \"Proof-of-Green\" Board Gate (",[248,302,303],{},"INV-NO-FAKE-DONE-01",".",[306,307,312],"pre",{"className":308,"code":309,"language":310,"meta":311,"style":311},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Bootstrap \u003Corg>\u002Fchinwag-tasks.git and link it to Linear or GitHub Projects v2 (100% webhook-free)\nchinwag tasks init --org acme-corp --sync linear\n\n# Start a ticket: 0s synchronous cold-start hydration in the Chinwag Encrypted Artifact Store\nchinwag start ENG-402\n","bash","",[248,313,314,323,349,356,362],{"__ignoreMap":311},[315,316,319],"span",{"class":317,"line":318},"line",1,[315,320,322],{"class":321},"sHwdD","# Bootstrap \u003Corg>\u002Fchinwag-tasks.git and link it to Linear or GitHub Projects v2 (100% webhook-free)\n",[315,324,326,330,334,337,340,343,346],{"class":317,"line":325},2,[315,327,329],{"class":328},"sBMFI","chinwag",[315,331,333],{"class":332},"sfazB"," tasks",[315,335,336],{"class":332}," init",[315,338,339],{"class":332}," --org",[315,341,342],{"class":332}," acme-corp",[315,344,345],{"class":332}," --sync",[315,347,348],{"class":332}," linear\n",[315,350,352],{"class":317,"line":351},3,[315,353,355],{"emptyLinePlaceholder":354},true,"\n",[315,357,359],{"class":317,"line":358},4,[315,360,361],{"class":321},"# Start a ticket: 0s synchronous cold-start hydration in the Chinwag Encrypted Artifact Store\n",[315,363,365,367,370],{"class":317,"line":364},5,[315,366,329],{"class":328},[315,368,369],{"class":332}," start",[315,371,372],{"class":332}," ENG-402\n",[374,375],"hr",{},[377,378,380,381,384,385,284],"h2",{"id":379},"_1-executable-tickets-in-the-chinwag-encrypted-artifact-store-inv-cf-artifacts-executable-tickets-01-inv-no-fake-done-01","1. Executable Tickets in the Chinwag Encrypted Artifact Store (",[248,382,383],{},"INV-CF-ARTIFACTS-EXECUTABLE-TICKETS-01"," & ",[248,386,303],{},[388,389,390,409],"table",{},[391,392,393],"thead",{},[394,395,396,401,406],"tr",{},[397,398,400],"th",{"align":399},"left","Capability",[397,402,403,404],{"align":399},"Canonical Git Ref in ",[248,405,275],{},[397,407,408],{"align":399},"What It Guarantees",[410,411,412,436,495,536,564],"tbody",{},[394,413,414,420,425],{},[415,416,417],"td",{"align":399},[262,418,419],{},"1. 1:1 Live Ticket Capsules",[415,421,422],{"align":399},[248,423,424],{},"refs\u002Fchinwag\u002Ftasks\u002F\u003CISSUE-ID>\u002Fcapsule",[415,426,427,428,289,430,432,433,435],{"align":399},"Every Linear Issue (",[248,429,288],{},[248,431,292],{},") is backed 1:1 by a signed capsule in ",[248,434,275],{}," in the Chinwag Encrypted Artifact Store.",[394,437,438,450,462],{},[415,439,440],{"align":399},[262,441,442,443,446,447],{},"2. ",[248,444,445],{},"0s"," Cold-Start Hydration on ",[248,448,449],{},"Todo \u002F In Progress",[415,451,452,455,458,459],{"align":399},[248,453,454],{},"refs\u002Fchinwag\u002Ftasks\u002F\u003CISSUE-ID>\u002Fshadow-kv",[456,457],"br",{},"+ ",[248,460,461],{},"\u003Corg>\u002F\u003Cproject>--task-ENG-402.git",[415,463,464,465,468,469,472,473,476,477,479,480,482,483,486,487,490,491,494],{"align":399},"When ",[248,466,467],{},"chinwag start ENG-402"," runs (or a ticket enters ",[248,470,471],{},"Todo"," \u002F ",[248,474,475],{},"In Progress","), The Chinwag Encrypted Artifact Store synchronously spawns a zero-copy ",[248,478,296],{}," sandbox (",[248,481,461],{},"), queries ",[248,484,485],{},".codegraph"," for affected symbols, attaches matching ",[248,488,489],{},".chinwag\u002Fregressions\u002F*"," Tombstone cassettes, and pre-warms the ticket's Shadow-KV prefix (",[248,492,493],{},"refs\u002Fchinwag\u002Ftasks\u002FENG-402\u002Fshadow-kv",").",[394,496,497,505,510],{},[415,498,499],{"align":399},[262,500,501,502,284],{},"3. 1-Click Ticket Teleportation (",[248,503,504],{},"\u003C300 ms",[415,506,507],{"align":399},[248,508,509],{},"chinwag teleport ENG-402 --at-step 8",[415,511,512,513,515,516,519,520,523,524,527,528,531,532,535],{"align":399},"Seamless ",[248,514,504],{}," handover between agents and humans (",[248,517,518],{},"Builder"," → human engineer or ",[248,521,522],{},"Reflex-1","), dropping the recipient into the exact Git worktree (",[248,525,526],{},"project_worktree_oid","), warm Shadow-KV mental state, and deterministic flight tape at Step ",[248,529,530],{},"N"," with a scoped 10-minute ",[248,533,534],{},"art_v1_"," token.",[394,537,538,548,561],{},[415,539,540],{"align":399},[262,541,542,543,384,545,284],{},"4. Synchronous Cryptographic \"Proof-of-Green\" & Cross-Surface Board Gate (",[248,544,303],{},[248,546,547],{},"INV-CROSS-SURFACE-SYNC-01",[415,549,550,553,554,557,558,284],{"align":399},[248,551,552],{},"refs\u002Fchinwag\u002Ftasks\u002F\u003CISSUE-ID>\u002Fproof"," (",[248,555,556],{},"TaskCompletionProofV1"," + ",[248,559,560],{},"SurfaceSyncReceiptV1",[415,562,563],{"align":399},"Moving a Linear or GitHub Projects card (`chinwag board watch",[394,565,566,571,582],{},[415,567,568],{"align":399},[262,569,570],{},"5. Zero-Rate-Limit, Firewall-Proof Git-Native Board Sync",[415,572,573,472,576,579,580],{"align":399},[248,574,575],{},"git fetch",[248,577,578],{},"repo.files"," on ",[248,581,275],{},[415,583,584,585,588,589,591,592,579,594,596],{"align":399},"Query the entire Linear or GitHub sprint board in ",[248,586,587],{},"\u003C1 ms"," via ",[248,590,575],{}," or edge ",[248,593,578],{},[248,595,275],{}," with zero GraphQL rate limits and full offline \u002F Rung-5 resilience.",[598,599,600,613],"blockquote",{},[245,601,602,608,609,612],{},[262,603,604,605,607],{},"100% Webhook-Free Architecture (",[248,606,283],{}," · Zero Inbound Webhooks or Webhook Secrets):","\nExecutable Tickets requires ",[262,610,611],{},"zero inbound GitHub or Linear webhooks",":",[614,615,616,649],"ol",{},[617,618,619,622,623,625,626,629,630,632,633,636,637,640,641,644,645,648],"li",{},[262,620,621],{},"Synchronous Client MCP & In-Runner OIDC Sync:"," ",[248,624,275],{}," in the Chinwag Encrypted Artifact Store is mutated synchronously via ",[248,627,628],{},"K1 + K2","-signed Chinwag Mesh RPCs and Git Smart HTTP (",[248,631,534],{}," tokens), and synced with Linear \u002F GitHub Projects client-side via the developer's existing local MCP (",[248,634,635],{},"@linear\u002Fmcp-server",", ",[248,638,639],{},"@modelcontextprotocol\u002Fserver-github",", or ",[248,642,643],{},"gh"," CLI) or in-runner via ",[248,646,647],{},"chinwag-ci"," OIDC.",[617,650,651,654,655,657,658,660,661,622,663,666,667,553,670,672,673,675,676,678,679,304],{},[262,652,653],{},"Synchronous Edge Ref Gate (Not a Webhook):"," When ",[248,656,467],{}," runs, the Chinwag Edge Ref Gate synchronously forks ",[248,659,461],{}," and pre-warms Shadow-KV. When an agent tries to mark ",[248,662,288],{},[248,664,665],{},"Done",", the Chinwag Edge Ref Gate synchronously checks ",[248,668,669],{},"refs\u002Fchinwag\u002Ftasks\u002FENG-402\u002Fproof",[248,671,556],{}," signed by ",[248,674,647],{},") and blocks\u002Fsnaps back any unverified ",[248,677,665],{}," transition at the Git ref + local MCP layer · ",[262,680,681],{},"with zero webhooks to configure, expose, or get rate-limited",[374,683],{},[377,685,687,688,691],{"id":686},"anatomy-of-an-atomic-chinwag-tasks-specification","Anatomy of an Atomic ",[248,689,690],{},"chinwag-tasks"," Specification",[245,693,694,695,698],{},"Every task file in ",[248,696,697],{},"\u003Corg>\u002Fchinwag-tasks\u002Factive\u002FTASK-204.md"," carries structured YAML frontmatter that both humans and agents can read deterministically:",[306,700,704],{"className":701,"code":702,"language":703,"meta":311,"style":311},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","---\nid: TASK-204\ntitle: \"Add Ed25519 signature verification to webhook receiver\"\nstatus: ready\nowner_seat: \"@RUST\"\nreviewer_seat: \"@ARCHITECT\"\nfile_scope:\n  - \"crates\u002Fwebhook-ingest\u002Fsrc\u002Fverify.rs\"\n  - \"crates\u002Fwebhook-ingest\u002Ftests\u002Fverify_test.rs\"\nestimated_loc_p90: 110\nverification_cmd: \"cargo test -p webhook-ingest --test verify_test\"\nbudget_cap_credits: 250\n---\n\n## Objective\nVerify incoming `X-Chinwag-Signature` headers using `ed25519-dalek` in strict batch-safe mode before deserializing the JSON payload (`INV-VERIFY-BEFORE-DECRYPT-01`).\n\n## Acceptance Criteria\n1. Reject missing or malformed signatures with `401 Unauthorized` in `\u003C 0.2ms`.\n2. Add property-based tests covering mutated payload bytes and wrong public keys.\n","markdown",[248,705,706,711,716,721,726,731,737,743,749,755,761,767,773,778,783,789,795,800,806,812],{"__ignoreMap":311},[315,707,708],{"class":317,"line":318},[315,709,710],{},"---\n",[315,712,713],{"class":317,"line":325},[315,714,715],{},"id: TASK-204\n",[315,717,718],{"class":317,"line":351},[315,719,720],{},"title: \"Add Ed25519 signature verification to webhook receiver\"\n",[315,722,723],{"class":317,"line":358},[315,724,725],{},"status: ready\n",[315,727,728],{"class":317,"line":364},[315,729,730],{},"owner_seat: \"@RUST\"\n",[315,732,734],{"class":317,"line":733},6,[315,735,736],{},"reviewer_seat: \"@ARCHITECT\"\n",[315,738,740],{"class":317,"line":739},7,[315,741,742],{},"file_scope:\n",[315,744,746],{"class":317,"line":745},8,[315,747,748],{},"  - \"crates\u002Fwebhook-ingest\u002Fsrc\u002Fverify.rs\"\n",[315,750,752],{"class":317,"line":751},9,[315,753,754],{},"  - \"crates\u002Fwebhook-ingest\u002Ftests\u002Fverify_test.rs\"\n",[315,756,758],{"class":317,"line":757},10,[315,759,760],{},"estimated_loc_p90: 110\n",[315,762,764],{"class":317,"line":763},11,[315,765,766],{},"verification_cmd: \"cargo test -p webhook-ingest --test verify_test\"\n",[315,768,770],{"class":317,"line":769},12,[315,771,772],{},"budget_cap_credits: 250\n",[315,774,776],{"class":317,"line":775},13,[315,777,710],{},[315,779,781],{"class":317,"line":780},14,[315,782,355],{"emptyLinePlaceholder":354},[315,784,786],{"class":317,"line":785},15,[315,787,788],{},"## Objective\n",[315,790,792],{"class":317,"line":791},16,[315,793,794],{},"Verify incoming `X-Chinwag-Signature` headers using `ed25519-dalek` in strict batch-safe mode before deserializing the JSON payload (`INV-VERIFY-BEFORE-DECRYPT-01`).\n",[315,796,798],{"class":317,"line":797},17,[315,799,355],{"emptyLinePlaceholder":354},[315,801,803],{"class":317,"line":802},18,[315,804,805],{},"## Acceptance Criteria\n",[315,807,809],{"class":317,"line":808},19,[315,810,811],{},"1. Reject missing or malformed signatures with `401 Unauthorized` in `\u003C 0.2ms`.\n",[315,813,815],{"class":317,"line":814},20,[315,816,817],{},"2. Add property-based tests covering mutated payload bytes and wrong public keys.\n",[374,819],{},[377,821,823,824,827],{"id":822},"automatic-task-decomposition-p90-150-loc-rule","Automatic Task Decomposition (",[248,825,826],{},"p90 > 150 LOC"," Rule)",[245,829,830,831,834],{},"Empirical telemetry across thousands of AI-assisted pull requests shows a sharp cliff when a single task exceeds ",[262,832,833],{},"150 lines of changed code",": review latency triples, context-window hallucination rates spike, and merge conflicts multiply.",[245,836,837,838,840,841,844,845,856,857,860],{},"When a human or PM creates a ticket whose predicted impact in Chinwag Reflex-1 exceeds ",[248,839,826],{}," (or touches ",[248,842,843],{},"> 4"," top-level modules), ",[262,846,847,848,851,852,855],{},"Chinwag Delivery-2 (",[248,849,850],{},"50 Cr",") automatically splits the parent ticket into ",[248,853,854],{},"2..5"," atomic sub-tasks"," with strictly disjoint ",[248,858,859],{},"--file-scope"," globs:",[306,862,867],{"className":863,"code":865,"language":866,"meta":311},[864],"language-text","Parent Ticket: TASK-300 (\"Implement OAuth2 PKCE + Session Store + UI Login Screen\" · Est. p90: 420 LOC)\n  │\n  ├─► Sub-Task TASK-300A: PKCE Token Exchange & Crypto Verifier\n  │     --file-scope \"crates\u002Fauth-core\u002F**\" (Est. p90: 115 LOC · Parallel Wave 1)\n  │\n  ├─► Sub-Task TASK-300B: Durable Session Store Migration & Queries\n  │     --file-scope \"crates\u002Fsession-db\u002F**\" (Est. p90: 95 LOC · Parallel Wave 1)\n  │\n  └─► Sub-Task TASK-300C: Login Modal Component & 176\u002F176 UI Gate\n        --file-scope \"apps\u002Fweb\u002Fsrc\u002Fauth\u002F**\" (Est. p90: 120 LOC · Wave 2 after 300A)\n","text",[248,868,865],{"__ignoreMap":311},[374,870],{},[377,872,874,875,384,878],{"id":873},"bounded-autonomy-customerautonomyfloorv1-emergencybrakepolicyv1","Bounded Autonomy: ",[248,876,877],{},"CustomerAutonomyFloorV1",[248,879,880],{},"EmergencyBrakePolicyV1",[245,882,883,884,612],{},"Chinwag Delivery-2 keeps your engineering queue moving without ever running away with your cloud budget or merging unverified code. Every organization configures hard, non-bypassable autonomy rails in ",[248,885,886],{},"chinwag.workflow.yaml",[306,888,892],{"className":889,"code":890,"language":891,"meta":311,"style":311},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","delivery_autonomy:\n  schema: chinwag.autonomy.floor.v1\n  max_parallel_subtasks_per_ticket: 5\n  max_credits_per_ticket_without_human_ack: 500\n  max_consecutive_ci_strikes: 3\n  require_human_approval_for:\n    - \"crates\u002Fcrypto-core\u002F**\"\n    - \".github\u002Fworkflows\u002F**\"\n    - \"chinwag.workflow.yaml\"\n  emergency_brake:\n    schema: chinwag.emergency.brake.v1\n    halt_on_credit_burn_per_hour: 2500\n    halt_on_repeated_tombstone_collision: true\n    notify_channel: \"#eng-alerts\"\n","yaml",[248,893,894,904,914,925,935,945,952,966,977,987,994,1004,1014,1025],{"__ignoreMap":311},[315,895,896,900],{"class":317,"line":318},[315,897,899],{"class":898},"swJcz","delivery_autonomy",[315,901,903],{"class":902},"sMK4o",":\n",[315,905,906,909,911],{"class":317,"line":325},[315,907,908],{"class":898},"  schema",[315,910,612],{"class":902},[315,912,913],{"class":332}," chinwag.autonomy.floor.v1\n",[315,915,916,919,921],{"class":317,"line":351},[315,917,918],{"class":898},"  max_parallel_subtasks_per_ticket",[315,920,612],{"class":902},[315,922,924],{"class":923},"sbssI"," 5\n",[315,926,927,930,932],{"class":317,"line":358},[315,928,929],{"class":898},"  max_credits_per_ticket_without_human_ack",[315,931,612],{"class":902},[315,933,934],{"class":923}," 500\n",[315,936,937,940,942],{"class":317,"line":364},[315,938,939],{"class":898},"  max_consecutive_ci_strikes",[315,941,612],{"class":902},[315,943,944],{"class":923}," 3\n",[315,946,947,950],{"class":317,"line":733},[315,948,949],{"class":898},"  require_human_approval_for",[315,951,903],{"class":902},[315,953,954,957,960,963],{"class":317,"line":739},[315,955,956],{"class":902},"    -",[315,958,959],{"class":902}," \"",[315,961,962],{"class":332},"crates\u002Fcrypto-core\u002F**",[315,964,965],{"class":902},"\"\n",[315,967,968,970,972,975],{"class":317,"line":745},[315,969,956],{"class":902},[315,971,959],{"class":902},[315,973,974],{"class":332},".github\u002Fworkflows\u002F**",[315,976,965],{"class":902},[315,978,979,981,983,985],{"class":317,"line":751},[315,980,956],{"class":902},[315,982,959],{"class":902},[315,984,886],{"class":332},[315,986,965],{"class":902},[315,988,989,992],{"class":317,"line":757},[315,990,991],{"class":898},"  emergency_brake",[315,993,903],{"class":902},[315,995,996,999,1001],{"class":317,"line":763},[315,997,998],{"class":898},"    schema",[315,1000,612],{"class":902},[315,1002,1003],{"class":332}," chinwag.emergency.brake.v1\n",[315,1005,1006,1009,1011],{"class":317,"line":769},[315,1007,1008],{"class":898},"    halt_on_credit_burn_per_hour",[315,1010,612],{"class":902},[315,1012,1013],{"class":923}," 2500\n",[315,1015,1016,1019,1021],{"class":317,"line":775},[315,1017,1018],{"class":898},"    halt_on_repeated_tombstone_collision",[315,1020,612],{"class":902},[315,1022,1024],{"class":1023},"sfNiH"," true\n",[315,1026,1027,1030,1032,1034,1037],{"class":317,"line":780},[315,1028,1029],{"class":898},"    notify_channel",[315,1031,612],{"class":902},[315,1033,959],{"class":902},[315,1035,1036],{"class":332},"#eng-alerts",[315,1038,965],{"class":902},[388,1040,1041,1051],{},[391,1042,1043],{},[394,1044,1045,1048],{},[397,1046,1047],{"align":399},"Safety Invariant",[397,1049,1050],{"align":399},"Enforcement Mechanism",[410,1052,1053,1071,1085],{},[394,1054,1055,1060],{},[415,1056,1057],{"align":399},[262,1058,1059],{},"Per-Ticket Credit Ceiling",[415,1061,1062,1063,1066,1067,1070],{"align":399},"If a task reaches ",[248,1064,1065],{},"budget_cap_credits"," (default ",[248,1068,1069],{},"500 Cr","), Chinwag Delivery-2 pauses subagent dispatch and posts a 1-click approval card in Slack \u002F GitHub.",[394,1072,1073,1078],{},[415,1074,1075],{"align":399},[262,1076,1077],{},"Protected Path Gate",[415,1079,1080,1081,1084],{"align":399},"Any diff touching paths in ",[248,1082,1083],{},"require_human_approval_for"," cannot auto-merge even if all automated geometry and review gates pass.",[394,1086,1087,1092],{},[415,1088,1089],{"align":399},[262,1090,1091],{},"Instant Emergency Brake",[415,1093,1094,1095,1098,1099,1102,1103,304],{"align":399},"Running ",[248,1096,1097],{},"chinwag tasks pause --all"," (or clicking ",[262,1100,1101],{},"Pause Queue"," in Slack) halts all active agent leases across the org in ",[248,1104,1105],{},"\u003C 100ms",[374,1107],{},[377,1109,1111],{"id":1110},"next-steps","Next Steps",[1113,1114,1115,1126],"ul",{},[617,1116,1117,622,1120],{},[262,1118,1119],{},"Next:",[1121,1122,1123,1125],"a",{"href":104},[248,1124,485],{}," Blast-Radius Prevention & Smart FinOps Routing",[617,1127,1128,622,1131],{},[262,1129,1130],{},"Ready to decompose complex specs into clean, parallel merges?",[1121,1132,1136],{"href":1133,"rel":1134},"https:\u002F\u002Fchinwag.sh\u002Fpricing",[1135],"nofollow","Reserve Your Organization Credit Pack →",[1138,1139,1140],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":311,"searchDepth":325,"depth":325,"links":1142},[1143,1145,1147,1149,1151],{"id":379,"depth":325,"text":1144},"1. Executable Tickets in the Chinwag Encrypted Artifact Store (INV-CF-ARTIFACTS-EXECUTABLE-TICKETS-01 & INV-NO-FAKE-DONE-01)",{"id":686,"depth":325,"text":1146},"Anatomy of an Atomic chinwag-tasks Specification",{"id":822,"depth":325,"text":1148},"Automatic Task Decomposition (p90 > 150 LOC Rule)",{"id":873,"depth":325,"text":1150},"Bounded Autonomy: CustomerAutonomyFloorV1 & EmergencyBrakePolicyV1",{"id":1110,"depth":325,"text":1111},"How Chinwag backs every Linear Issue and GitHub Project Item with 100% webhook-free Executable Tickets in the Chinwag Encrypted Artifact Store (\u003Corg>\u002Fchinwag-tasks.git), enforces synchronous Proof-of-Green board gates (200ms snap-back on fake Done), teleports in-flight tickets in \u003C300ms, and auto-splits oversized specs (p90 > 150 LOC).","md",null,{},{"title":99},{"title":236,"description":1152},"kE4qUyMLkZVahpy4XTptspx_-vMAPWVSScPuu02Zujw",[1160,1162],{"title":95,"path":96,"stem":97,"description":1161,"children":-1},"How DELIVERY combines Chinwag Reflex-1 (\u003C50ms risk\u002Fcost radar) and Chinwag Delivery-2 (multi-step dependency planning) to keep engineering teams shipping.",{"title":103,"path":104,"stem":105,"description":1163,"children":-1},"How DELIVERY uses local structural call graphs (.codegraph) to prevent cross-module breakage and optimize multi-model inference costs.",1794371826571]