Captures the owner's requirements and decisions from the planning conversation, current branch/worktree state, open tasks 17-19, pending owner decisions and the controller's rulings so a new agent can resume. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
1.5 KiB
Markdown
20 lines
1.5 KiB
Markdown
# Task 12 report: MangaBaka plugin
|
|
Status: DONE_WITH_CONCERNS. Branch task/12, commit ddd9389 feat(plugins): mangabaka.
|
|
Files (all under plugins/mangabaka/): index.ts, src/{api,map,pull,lookup}.ts, test/mangabaka.test.ts, test/fixtures/{library-page1,library-page2,changes,search}.json.
|
|
Tests: bun test plugins/mangabaka -> 12 pass, 0 fail. bun run typecheck clean. No DB involved.
|
|
Concerns:
|
|
- TDD: tests and implementation were written together; no separate RED run was captured.
|
|
- Response shapes not in the brief are assumed: library page = {data, pagination:{page,total_pages}}; search = {data:[series]}. Verify against the OpenAPI spec.
|
|
- ratePerMinute 150 is exported as RATE_PER_MINUTE (src/api.ts); the SDK manifest has no field for it, so the host must apply it.
|
|
- Auth reads ctx.config.token and sends x-api-key.
|
|
- Deletes yield two deleted records (series:<id> and progress:<id>) with a placeholder WorkHint.
|
|
- Changes loop saves cursor each page and stops on empty data, missing or unchanged cursor.
|
|
- Series type "comic" maps to comic, otherwise manga.
|
|
|
|
## Fix round 1
|
|
- pullChanges: only type "delete" deletes; upsert without entry is skipped with ctx.log message (test added).
|
|
- mapState uses Object.hasOwn (test for "constructor").
|
|
- Test cross-checking delete keys against keys from a full pull of series 1.
|
|
- 15 tests pass, typecheck clean.
|
|
- External-id namespaces made type-specific: anilist_manga, mal_manga, kitsu_manga (mangaupdates, mangabaka unchanged); tests updated.
|