{"assessments":[],"deployments":[],"fuzz":[],"identity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"interpretation":"Records acceptance and evidence. Neither completion nor an AI assessment establishes correctness, safety, or independent review.","jobId":"e0d26ead-60e5-4902-a260-646269f4f7cd","kind":"skill:research-report","nodes":[{"acceptedSubmissionHash":"4a014988e601806bf6e576a2df98a3cc2494946ee99a5c07568e256a3761d9a3","dependsOn":[],"execution":{"network":true,"optionalTools":["browser"],"profile":"none","requires":["network"],"skillHash":"3ddca93330036359dd721585e58e67820336a0398b7927b3c89369d6134f30f6","skillId":"research-report","tools":[]},"key":"research_report","kind":"code","role":"implement","skillHash":"3ddca93330036359dd721585e58e67820336a0398b7927b3c89369d6134f30f6","skillId":"research-report","state":"accepted"}],"objective":"Write the first half of the user documentation for imdUSD, a dollar-denominated CDP stablecoin in this repository: the overview, the borrower and redeemer guides, and the keeper guides. Deliver Markdown files only; a separate step renders them into the site. Do not modify any tracked file.\n\nBEFORE WRITING, research how strong DeFi documentation is organised (the Diataxis split of tutorials, how-to guides, reference and explanation; and live examples such as Liquity, Aave and MakerDAO/Sky docs) and apply what you find. Summarise the practices you adopted, with links, in artifacts/docs/README.md.\n\nPAGES IN THIS JOB AND WHAT EACH MUST COVER:\noverview/what-is-imdusd: what it is, who it is for, what backs it, what is unproven, in under 500 words.\noverview/how-it-holds-a-dollar: explanation of borrowing, redemption at the lesser of $1 and backing per imdUSD less the fee, liquidation, and the swarm-attested price (IMD/ETH from IdentityMD panels, times Chainlink ETH/USD), with the primary and spot divergence guard.\noverview/glossary: every term the set uses (collateral ratio, mat, duty, line, chi, network health index, mark, grace, liquidation window, backing per imdUSD, reserve, stability fee, attestation, question hash, keeper).\nguides/use-the-terminal: the terminal at /terminal/ (web/): monitor tabs, desk tabs, what each figure means, what disabled actions and their messages tell you.\nguides/open-a-position, guides/manage-and-protect-a-position, guides/redeem: step-by-step tasks, each with prerequisites, the exact contract call underneath (lock, draw, wipe, free, cash), what can block it and how to recover. Protecting a position covers the liquidation price, how mat moves with network health, and that lock or wipe clears a mark.\nkeepers/how-liquidation-works, keepers/mark-and-liquidate, keepers/relay-oracle-updates, keepers/keeper-economics: bark and bite: marks, grace and the liquidation window; the bonus (CHOP_PERCENT) and how it splits into chip for the marker, cut for the protocol and the rest for the biter; clearing recovered marks with heel; relaying an attestation permissionlessly through SwarmRelay; why relayAndBite and relayAndBark bundle a relay with the action; the inventory a keeper needs.\n\nCONVENTIONS (shared with a sibling job writing the other half; follow exactly). Every page is Markdown at the path given, opening with a front-matter block: title, section, order (integer), audience (borrowers | keepers | integrators | governance | everyone), and sources (repo paths with line numbers, or URLs, that support the page). Describe imdUSD plainly as what it is and how it functions, from this repository's current source. Do NOT mention testnets, Sepolia, test deployments, version history or anything as \"currently\" or \"today\": these pages ship with the mainnet launch and must not need revising after it. Every contract address is written exactly as \"(waiting for mainnet launch)\". The stablecoin is imdUSD. Quote every contract, function, event and error identifier exactly as in source. The vault's verbs and parameters (lock, free, draw, wipe, bark, bite, heel, cash, earn, drip; mat, duty, line, chi, CHOP_PERCENT, chip, cut, tail, gap, lull, skew, wage, earnLine, earnMat) are a deliberate homage to MakerDAO, partly borrowed and partly coined in its spirit, recorded with their origins in docs/NAMING.md: use them for identifiers, explain each in plain words on first use, and give the homage one sentence in the overview. Users never see them: the terminal labels every action in plain words, so overview and guide pages name actions exactly as its buttons do (Deposit, Withdraw, Borrow, Repay, Redeem, Mark, Liquidate, Clear mark, Mint from work) and give the contract function once alongside in code format, for example \"Borrow (`draw`)\". Reference, governance and economics pages lead with the identifiers. Every economic parameter VALUE, governed or fixed, is written exactly as \"(under consideration)\": the mat curve, duty, line, CHOP_PERCENT and its split between chip and cut, the redemption fee floor, cap and decay, gap, lull and tail, skew, feed maximum age, earnMat, earnLine and wage, and every bound on them. Explain what each is and how it works, never its number. Oracle updates purchased on chain through an Intake contract and funded from treasury assets are being built and are not in this source: describe only what the source implements, and where a page needs that mechanism write a visible line \"TODO(oracle-funding): …\" stating what belongs there, for us to fill. AUTHORITY: src/*.sol is the truth. When docs/*.md, the README or the whitepaper (https://infer.miyagod.eth.limo) disagree with the code, follow the code and note the disagreement in your README. Never invent an address, parameter value or function: read it from source or leave a visible TODO. Link between pages with relative paths, including into the sibling set listed below. Plain language, second person in guides, numbered steps for procedures, one idea per paragraph, units on every number, terms defined on first use. No marketing voice, no emoji.\n\nFULL TABLE OF CONTENTS (both jobs): overview/what-is-imdusd, overview/how-it-holds-a-dollar, overview/glossary, guides/use-the-terminal, guides/open-a-position, guides/manage-and-protect-a-position, guides/redeem, keepers/how-liquidation-works, keepers/mark-and-liquidate, keepers/relay-oracle-updates, keepers/keeper-economics (job A); reference/contracts-and-addresses, reference/vault-functions, reference/events-and-errors, reference/oracle-and-question-binding, reference/reading-state, governance/parameters, governance/timelock-and-proposals, governance/network-health, economics/monetary-policy, economics/swarm-evidence, economics/risks-and-open-questions (job B).\n\nDELIVERABLE: the eleven pages at artifacts/docs/<section>/<page>.md, plus artifacts/docs/README.md stating sources used, practices adopted, every code-versus-doc disagreement found, and every TODO left.","parentJobId":null,"planHash":"e83b5773937efd6a7e6b9a2dde6b869948fae42284108dc305d2bc5b7f7dbc8e","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"e0d26ead-60e5-4902-a260-646269f4f7cd","publication":{"commit":null,"deliveredAt":null,"repoUrl":null},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51557","feedbackHash":"c76377875850d1e039fd9bec264731b7ffa79cf42eb20467d8e176c3259bc22c","nodeKey":"research_report","submissionHash":"4a014988e601806bf6e576a2df98a3cc2494946ee99a5c07568e256a3761d9a3","tag1":"verification:structural","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"c3fca7482c64cc8f17e06dfb0ffca9cb63581ebc9dda22cfa73524e8f560b1e6","state":"completed","submissions":[{"artifacts":[{"bytes":3204,"hash":"22badbca7451d10c8480b236c923fc69c4767d4c4a9f5dea819f29cda0f3b017","mediaType":"text/markdown","name":"overview-what-is-imdusd","path":"artifacts/docs/overview/what-is-imdusd.md"},{"bytes":5871,"hash":"9912422fcc8eb84e7d4234c1297d7c0811c86e9453a97de91c7e86e28907c308","mediaType":"text/markdown","name":"overview-how-it-holds-a-dollar","path":"artifacts/docs/overview/how-it-holds-a-dollar.md"},{"bytes":4998,"hash":"5e3a1b06e79eb5c4be738c09cfef7e4a3aa0dfb9a90b4924dc05d9abb9fb04ab","mediaType":"text/markdown","name":"overview-glossary","path":"artifacts/docs/overview/glossary.md"},{"bytes":7956,"hash":"0ee958bff2a223b5176df5529686fa0aca010a95c35d7f3251c4b170e1ff3b1a","mediaType":"text/markdown","name":"guides-use-the-terminal","path":"artifacts/docs/guides/use-the-terminal.md"},{"bytes":3964,"hash":"f3d65afc484a5634f1613669ffa7e1b9ba95a745a2096f4c21498051a31d1611","mediaType":"text/markdown","name":"guides-open-a-position","path":"artifacts/docs/guides/open-a-position.md"},{"bytes":5522,"hash":"0cabec6270920da07ca6864da200a41bfdce6f5cb29947040e59b741e5372756","mediaType":"text/markdown","name":"guides-manage-and-protect-a-position","path":"artifacts/docs/guides/manage-and-protect-a-position.md"},{"bytes":4046,"hash":"afcd523de302dfd5b8397187e82fd7950e5b270421e7af6df1107f44d25aac78","mediaType":"text/markdown","name":"guides-redeem","path":"artifacts/docs/guides/redeem.md"},{"bytes":5505,"hash":"19c02288af81d2f697faf5b970cd71e200b590e7e15770340edbf4e76e01e9f5","mediaType":"text/markdown","name":"keepers-how-liquidation-works","path":"artifacts/docs/keepers/how-liquidation-works.md"},{"bytes":4233,"hash":"fc9af276aedc09ba6221000c6cd7033b47d76a076dbb84ce033d4c02074d6e4e","mediaType":"text/markdown","name":"keepers-mark-and-liquidate","path":"artifacts/docs/keepers/mark-and-liquidate.md"},{"bytes":7372,"hash":"ae3f02326741fc8a9f9216c1f747a734057cd27dcdd2cc32a275f53eab958e25","mediaType":"text/markdown","name":"keepers-relay-oracle-updates","path":"artifacts/docs/keepers/relay-oracle-updates.md"},{"bytes":5471,"hash":"71ca7289d888015a29abb5841d8a96e8fea6dfda7109bd4a7e1730002c464b05","mediaType":"text/markdown","name":"keepers-keeper-economics","path":"artifacts/docs/keepers/keeper-economics.md"},{"bytes":9390,"hash":"d85d6a7037d5018766df854d8e4f14fb95588f05894e978ddaccd5ac0195fa74","mediaType":"text/markdown","name":"docs-readme","path":"artifacts/docs/README.md"}],"attempt":1,"bundleHash":null,"device":"559cfaaab2c0d013","findings":[],"hash":"4a014988e601806bf6e576a2df98a3cc2494946ee99a5c07568e256a3761d9a3","nodeId":"2e49259f-120a-4d6c-aa2a-6d8a2fd9533d","outcome":"completed","summary":"I wrote the eleven pages and `artifacts/docs/README.md`. The files are untracked, no tracked file changed, and nothing was built or run. I checked the pages only by text search, for banned words and parameter numbers, and by counting words.\n\n**Checked**\n- `what-is-imdusd` is 482 words, under the 500 limit.\n- No testnet, Sepolia or \"currently/today\" wording appears in the pages or the README. No real address appears either, only \"(waiting for mainnet launch)\".\n- Every parameter value is written as \"(under consideration)\".\n- The relative links into the sibling set (`reference/`, `governance/`, `economics/`) don't resolve until the other half exists.\n\n**Left as TODOs**\n- `keepers/relay-oracle-updates.md` has one `TODO(oracle-funding)`, for how oracle updates are bought and funded through an Intake contract.\n- `keepers/keeper-economics.md` has two, for who pays for attestations and whether relayers are reimbursed.\n\n**Code versus other documents.** The code won every time. The README lists ten disagreements; the main ones:\n- The repository README says there is no redemption, but `cash` implements it.\n- The repository README says a price divergence still allows withdrawal. In the code, a withdrawal with debt open needs fresh, agreeing feeds. Only a debt-free withdrawal is always open.\n- The whitepaper's redemption, liquidation and oracle design differ from the code. I only saw the whitepaper through a fetch tool's summary, so treat those as likely rather than verified.\n- The terminal in `web/` still uses the old names (COMP, `minCR`, `mintCOMP` and so on) and its buttons read \"Review ...\". The guides use the plain labels you specified, so figure names in `use-the-terminal` may differ from the screen. I left out the terminal's test-IMD faucet and reporter-fallback tools, which have no counterpart in the contracts.\n\n**Unverified**\n- I didn't run the terminal, so its behaviour comes from reading its source.\n- I assumed the feeds at launch pin the launch `SwarmRelay`. The pinned relayer is a network-specific constant in `DeploymentConfig.sol`, and I couldn't confirm it.\n- The MakerDAO/Sky docs portal returned 403, so my notes on its layout come from search results only. I opened only Liquity's index file (`llms.txt`), not the pages behind it, and only Aave's landing page.\n\nThe README also records the sources read, the practices adopted with links, and the limits. I wrote no tutorial, because one would need a live deployment to follow.","treeHash":"d29997e8954c4b7141667360b77651c1cedf79d2","usage":{"cachedInputTokens":5682417,"inputTokens":84,"model":"claude-sonnet-5-5","outputTokens":45818,"runtime":"claude","turns":50,"wallClockMs":425511}}],"verification":[{"checks":[],"detail":"paths and tree verified; no suite was run for this kind of work","evaluation":"structural","profile":"none","status":"accepted","submissionHash":"4a014988e601806bf6e576a2df98a3cc2494946ee99a5c07568e256a3761d9a3","verifiedTreeHash":"d29997e8954c4b7141667360b77651c1cedf79d2","verifierVersion":"0.1.0+8680b67f"}]}