Topic routing, dedup, attachments, sweep + pytest test framework#1
Merged
Conversation
… errors Route each job to a per-topic NotebookLM notebook + Notion DB via an inline #tag (topics.json registry; db ids cached in .state). Add duplicate prevention (per-topic processed index keyed on normalized URL / file content hash, #force to override; record only on full success). Accept Telegram file attachments (PDF/DOCX/TXT/MD). Add "整理現有" sweep that exports every not-yet-done source already in a topic's notebook. Map the SDK's cryptic "returned an error result: success" (CLI not logged in) into an actionable re-login message. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…nner agent Convert the ad-hoc test scripts to pytest with shared fixtures in conftest.py (cfg/registry/index/good_report, a configurable fake-agents harness, and a no-network poll() driver). Cover config, contract, evaluators, topics, dedup, gate logic, attachments, sweep, telegram routing, main dispatch, and the agent SDK wrapper (incl. the auth-error mapping). Add pytest/ruff/coverage config to pyproject, a GitHub Actions CI workflow (ruff + pytest on push/PR), and a fresh-context "test-runner" subagent that runs the suite and reports PASS/FAIL. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Builds out agent-notes and adds a proper test framework.
Product
#tagroutes each job to a per-topic NotebookLM notebook + Notion DB (topics.jsonregistry; db ids cached under.state/).#forceto re-do; recorded only on full success (failures stay retriable).#topic 整理現有exports every not-yet-done source already in a topic's notebook.claude auth loginmessage.Testing / tooling
tests/conftest.py):cfg/registry/index/good_report, a configurable fake-agents harness, and a no-networkpoll()driver..state/writes).test-runnersubagent.Verify
Notes
.envand.state/are gitignored.agent.pynetwork boundary,notebooklm_cli.pysubprocess boundary — can't be unit-tested offline).🤖 Generated with Claude Code