Audit what forcing a coder login would have to buy `openagents coder` is local-first past the point of working offline: with no model it answers from a local Ollama, with no credential it answers from a stand-in, its shell and skills read this machine, and its children run on the harness's own free models. Only two things in a session reach the account at all. That was right for a tool nobody had signed into and is wrong for one whose point is the account. The audit reads what the server already has to hang the other posture on — `Leaderboard`, the experience, graph and profile memory planes, the issue and receipt graph from #10, and the fenced grant — and finds three gaps. The sharp one is small: coder work does not reach the leaderboard. `account_totals/0` unions `TurnReceipt` and `Voice.Session`, both joined through `Conversation` and `Visitor`, and a coder session runs on a thread whose spend sits on `Inference.Grant.usage`. A person can run the coder all day against their own account and appear nowhere, so forcing a login today would be asking for a credential in exchange for nothing. It is one arm on an existing union, with the double-count question to answer against DATA-002 first. The second is that all three memory planes hang off `Conversation` and `Visitor`, which a coder session does not have. The material they want is already produced and already written out — the ATIF export is that material — so the work is the join, and the open question is what a session's unit of experience is. The issue looks like the answer, since #10 already links it to commits and receipts. The third is that `total_tokens` measures spend rather than contribution, and adding coder tokens to it makes a placeholder more load-bearing rather than less. The recommendation is to close the first gap, write session outcomes into experience memory keyed by issue, force the login once it buys the board and the memory, and only then ask what a score should measure — with the data to answer it. `--offline` should survive as a named mode rather than as what you get when the login fails. Nothing here is built; the gaps are read from the code at the commit named in the document.
Audit what forcing a coder login would have to buy
Deploy story
What this commit did to the running system — joined from the forge receipt chain, the part a commit page elsewhere cannot show.
- pushed
- by user · WAL seq 288 · 2026-08-24T17:37:18.363098Z
Changed files
-
added
docs/2026-08-24-coder-account-integration-audit.md
Diff
1 file changed, +142 -0
docs/2026-08-24-coder-account-integration-audit.md added +142
@@ -0,0 +1,142 @@
| 1 |
|
|
| 2 |
|
|
| 3 |
|
|
| 4 |
|
|
| 5 |
|
|
| 6 |
|
|
| 7 |
|
|
| 8 |
|
|
| 9 |
|
|
| 10 |
|
|
| 11 |
|
|
| 12 |
|
|
| 13 |
|
|
| 14 |
|
|
| 15 |
|
|
| 16 |
|
|
| 17 |
|
|
| 18 |
|
|
| 19 |
|
|
| 20 |
|
|
| 21 |
|
|
| 22 |
|
|
| 23 |
|
|
| 24 |
|
|
| 25 |
|
|
| 26 |
|
|
| 27 |
|
|
| 28 |
|
|
| 29 |
|
|
| 30 |
|
|
| 31 |
|
|
| 32 |
|
|
| 33 |
|
|
| 34 |
|
|
| 35 |
|
|
| 36 |
|
|
| 37 |
|
|
| 38 |
|
|
| 39 |
|
|
| 40 |
|
|
| 41 |
|
|
| 42 |
|
|
| 43 |
|
|
| 44 |
|
|
| 45 |
|
|
| 46 |
|
|
| 47 |
|
|
| 48 |
|
|
| 49 |
|
|
| 50 |
|
|
| 51 |
|
|
| 52 |
|
|
| 53 |
|
|
| 54 |
|
|
| 55 |
|
|
| 56 |
|
|
| 57 |
|
|
| 58 |
|
|
| 59 |
|
|
| 60 |
|
|
| 61 |
|
|
| 62 |
|
|
| 63 |
|
|
| 64 |
|
|
| 65 |
|
|
| 66 |
|
|
| 67 |
|
|
| 68 |
|
|
| 69 |
|
|
| 70 |
|
|
| 71 |
|
|
| 72 |
|
|
| 73 |
|
|
| 74 |
|
|
| 75 |
|
|
| 76 |
|
|
| 77 |
|
|
| 78 |
|
|
| 79 |
|
|
| 80 |
|
|
| 81 |
|
|
| 82 |
|
|
| 83 |
|
|
| 84 |
|
|
| 85 |
|
|
| 86 |
|
|
| 87 |
|
|
| 88 |
|
|
| 89 |
|
|
| 90 |
|
|
| 91 |
|
|
| 92 |
|
|
| 93 |
|
|
| 94 |
|
|
| 95 |
|
|
| 96 |
|
|
| 97 |
|
|
| 98 |
|
|
| 99 |
|
|
| 100 |
|
|
| 101 |
|
|
| 102 |
|
|
| 103 |
|
|
| 104 |
|
|
| 105 |
|
|
| 106 |
|
|
| 107 |
|
|
| 108 |
|
|
| 109 |
|
|
| 110 |
|
|
| 111 |
|
|
| 112 |
|
|
| 113 |
|
|
| 114 |
|
|
| 115 |
|
|
| 116 |
|
|
| 117 |
|
|
| 118 |
|
|
| 119 |
|
|
| 120 |
|
|
| 121 |
|
|
| 122 |
|
|
| 123 |
|
|
| 124 |
|
|
| 125 |
|
|
| 126 |
|
|
| 127 |
|
|
| 128 |
|
|
| 129 |
|
|
| 130 |
|
|
| 131 |
|
|
| 132 |
|
|
| 133 |
|
|
| 134 |
|
|
| 135 |
|
|
| 136 |
|
|
| 137 |
|
|
| 138 |
|
|
| 139 |
|
|
| 140 |
|
|
| 141 |
|
|
| 142 |
|