# tasks — drive-plugin-chunks-inline-sig ## 1. Error registry - [x] 1.1 Add `INLINE_SIG_INVALID` to `CHUNKS_CODES`. - [x] 1.2 Update `error-codes.md` (count + DTP-25 rationale). ## 2. Inline-hint module - [x] 2.1 Create `src/inline/inline-hint.ts` with `InlineHint`, `LegacyInlineHint`, `AnyInlineHint`, `StorageHint`, `FileLocation`, `inlineSigningInput`, `signInlineHint`, `verifyInlineHint` (injectable verifier), `isLegacyInlineHint`, `upgradeLegacyInlineHint`. - [x] 2.2 Create `src/inline/inline-hint.md` (≥200-word doc with all six required sections). - [x] 2.3 Create `src/inline/index.ts` barrel. - [x] 2.4 Wire exports through `src/index.ts`. ## 3. Tests - [x] 3.1 Required: `inline file with valid sig reads successfully`. - [x] 3.2 Required: `inline file with bad sig throws INLINE_SIG_INVALID`. - [x] 3.3 Required: `old-format inline reads with warning AND rewrites with sig on next write`. - [x] 3.4 fileId-replay rejection. - [x] 3.5 byte-tamper rejection. - [x] 3.6 wrong-public-key rejection. - [x] 3.7 signing-input canonicalisation property. - [x] 3.8 catch-arm via injectable throwing verifier. - [x] 3.9 `isLegacyInlineHint` discrimination including `sig: undefined` ambiguous case. ## 4. Gates - [x] 4.1 `bunx turbo lint typecheck test --filter=@suaveplan/drive-plugin-chunks` green. - [x] 4.2 `bunx turbo test:coverage --filter=@suaveplan/drive-plugin-chunks` at 100/100/100/100. - [x] 4.3 `bun run docs:check` reports 17/17 files.