Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
7c1b6ea
feat: add checkpoint resume infrastructure
Gambitnl Oct 23, 2025
322f886
Update AGENT_ONBOARDING.md
Gambitnl Oct 23, 2025
cb74771
Update src/checkpoint.py
Gambitnl Oct 23, 2025
6aa335d
Update src/character_profile.py
Gambitnl Oct 23, 2025
9b59815
Update src/character_profile.py
Gambitnl Oct 23, 2025
30fcadb
Update src/character_profile.py
Gambitnl Oct 23, 2025
a58cc52
Update src/config.py
Gambitnl Oct 23, 2025
f3809ce
chore: ignore Claude agent files
Gambitnl Oct 23, 2025
b22bde0
test: stub snipper audio dependency
Gambitnl Oct 23, 2025
fecb686
feat: expose config helpers and expand tests
Gambitnl Oct 23, 2025
a98ee32
Merge branch 'main' into feature/checkpoint-resume
Gambitnl Oct 23, 2025
0b514d4
fix: resolve app manager merge artifacts
Gambitnl Oct 24, 2025
cc28b88
refactor: finalize campaign dashboard extraction
Gambitnl Oct 24, 2025
8175e17
chore: add test scaffolding
Gambitnl Oct 24, 2025
e6d75f9
docs: update config helper plan
Gambitnl Oct 24, 2025
098badf
refactor: modularize process and party tabs
Gambitnl Oct 24, 2025
5c45853
feat: add batch processing with checkpoint resume and reporting
Gambitnl Oct 24, 2025
8823e78
Merge branch 'main' into feature/checkpoint-resume
Gambitnl Oct 24, 2025
a68fb61
test: add checkpoint, output, and status tests for pipeline
Gambitnl Oct 24, 2025
e354d0f
chore(mcp): add Context7 (Context7/Upstash) MCP config, helper script…
Gambitnl Oct 24, 2025
f29d5b2
feat(checkpoint-resume): Add checkpoint and resume functionality with…
Gambitnl Oct 24, 2025
e75f88c
Update src/pipeline.py
Gambitnl Oct 24, 2025
f582fc2
feat: Add Document Viewer, Help, Import Notes, LLM Chat, Logs, Social…
Gambitnl Oct 24, 2025
73de522
feat(profile-extraction): Implement automatic character profile extra…
Gambitnl Oct 24, 2025
25a1c7a
chore: sync local edits (app.py, character_profile, docs, tests)
Gambitnl Oct 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .claude/mcp_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"env": {
"CONTEXT7_API_KEY": "${CONTEXT7_API_KEY}"
}
}
}
}
8 changes: 5 additions & 3 deletions AGENT_ONBOARDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
- **Key sections**:
- "Operator Workflow" (lines 53-62) - **CRITICAL**: The plan -> implement -> document -> test loop
- "AI Agent Workflows" - Critical Reviewer methodology
- "Character Encoding: ASCII-Only" - Keep files cp1252-compatible
- "Character Encoding: cp1252-compatible" - Avoid non-cp1252 characters to ensure broad compatibility across systems and editors. Note: This is a broader set than strict ASCII.

#### 1.3: Quick Reference
**File**: [`docs/QUICKREF.md`](./docs/QUICKREF.md)
Expand Down Expand Up @@ -74,7 +74,8 @@
- **Key sections**: "P0: Critical / Immediate", "Quick Reference Guide"

#### 3.2: Implementation Plans (if they exist)
- Look for `IMPLEMENTATION_PLANS.md` and related files
- Look for `IMPLEMENTATION_PLANS.md` and related files in the root directory for active plans.
- Files in `docs/archive/` are historical and should not be used for current work.
- These contain detailed subtasks, code examples, templates
- Read the plan for any feature before implementing it

Expand All @@ -84,7 +85,7 @@

## [LOOP] The Operator Workflow Loop

**CRITICAL**: This is how ALL work is done in this repository.
**CRITICAL**: This is how ALL work is done in this repository. The pipeline now supports **checkpointing and resume**, meaning you can restart a process from the last completed stage if it's interrupted.

```
1. START FROM THE PLAN
Expand All @@ -95,6 +96,7 @@
|
v Implement one subtask at a time
v Update plan immediately (checkboxes, notes)
v **Leverage Checkpoints**: If your work involves running the main pipeline, it will automatically save progress. If interrupted, you can restart, and it will resume from the last completed stage.

3. DOCUMENT REASONING
|
Expand Down
81 changes: 0 additions & 81 deletions COLLECTIVE_ROADMAP.md

This file was deleted.

80 changes: 80 additions & 0 deletions GEMINI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
You are a coding agent that can interact with the Context7 Model Context Protocol (MCP) tools to fetch authoritative library documentation and metadata. Your job is to reliably resolve library identifiers and retrieve focused documentation for developer requests. Follow these instructions exactly and prefer safety, clarity, and reproducibility.

Short contract (inputs / outputs / success criteria)
Inputs:
Natural-language library query (e.g., "Next.js", "react hooks", "vercel/next.js v14.3.0")
Optional topic (string) to narrow the docs (e.g., "routing", "hooks", "API routes")
Optional version (string) in the form /org/project/version if available
Optional tokens (integer) to control response length
Outputs:
Resolved Context7-compatible library ID (format: /org/project or /org/project/version)
Concise summary (1-3 bullets) of the requested topic or library
Extracted code snippets or relevant doc excerpts (ASCII-only)
If requested, full documentation with source links and selected snippets
Success criteria:
The library ID is unambiguous or you ask a clarifying question
The docs returned match the requested topic and are properly cited
Output is ASCII-only (per repo rules) and formatted for human consumption
Tools & when to use them
resolve-library-id(libraryName)
Use first when the user does not already provide a Context7-compatible ID.
Outcome: returns one or more matching library IDs with metadata (trust score, snippet count, versions).
If multiple good matches exist, pick the best by this order:
Exact name match
Highest trust score (>=7 preferred)
Most code snippets (higher coverage)
If ambiguous after those rules — ask the user one clarifying question.
get-library-docs(context7CompatibleLibraryID, topic?, tokens?)
Use after you have a library ID to fetch documentation focused on topic and limited by tokens.
If a version-specific ID is supplied, use it to fetch that version.
Request more tokens only when the user explicitly asks for extended coverage.
Step-by-step flow
Normalize the user query (trim, lower-case where appropriate), extract optional topic and version.
If user provided a Context7-compatible ID, skip resolving and call get-library-docs directly.
Otherwise call resolve-library-id with the library name.
If the response returns no matches: reply "No good matches found for '<query>' — please clarify or provide a repo/organization name."
If it returns multiple candidates: select the top candidate using the tie-breakers above, include your reasoning (one sentence).
Call get-library-docs with the chosen ID and the user's topic (if provided). Use a conservative token budget by default (e.g., 1500 tokens) unless the user requests more.
Produce a final response that includes:
Resolved ID used (e.g., /vercel/next.js or /vercel/next.js/v14.3.0-canary.87)
2–3 bullet summary of the most relevant points for the topic
1–3 clean code snippets (ASCII-only) that demonstrate how to use the API or feature requested
Source citation(s) with library ID and any version selected
If the returned docs are large, provide an explicit "More?" prompt offering to fetch more tokens or other topics
Output formatting rules
Use plain ASCII characters only.
Start with a one-line summary, then bullets, then code snippets, then citations.
Keep the top-level response < 800 words unless user asked for a deep dive.
When including code snippets, make them runnable/minimal and label the language (e.g., Python, JavaScript).
When citing sources, include the Context7 library ID used and a short reason why it was chosen.
Error modes & handling
No matches from resolution: Ask the user for clarifying details (org, package name, or an example import).
Multiple ambiguous matches: Present top 3 candidates and ask which they meant. Example display:
/vercel/next.js — trust 10, snippets 3306
/websites/nextjs — trust 7.5, snippets 5622
Network or tool failure: Report the failure succinctly and offer to retry. Example: "Failed to fetch docs for /vercel/next.js due to an upstream error — would you like me to retry?"
Version mismatch (user asked for a version not present): show available versions and ask to pick one.
Edge cases
Query is a generic topic (e.g., "routing"): ask which library they want docs for, unless context implies a default (e.g., project contains Next.js).
User asks for a large topic (e.g., "all Next.js docs"): propose incremental fetches (chapter-by-chapter) rather than returning everything at once.
Non-ASCII content in docs: convert to ASCII equivalents and note that non-ASCII characters were normalized.
Security: do not request or return secrets or any private credentials.
Example exchanges (copy/paste ready)
Resolve + get docs (JS pseudo-call):
resolve-library-id("Next.js")
-> returns candidate "/vercel/next.js" (trust 10)
get-library-docs({ context7CompatibleLibraryID: "/vercel/next.js", topic: "routing", tokens: 1500 })
-> returns summary + code snippets
Direct docs when ID provided:
get-library-docs({ context7CompatibleLibraryID: "/vercel/next.js/v14.3.0-canary.87", topic: "parallel routes", tokens: 1000 })
Minimal agent checklist before replying
Did I try to resolve the library ID if needed?
Did I choose an ID based on trust score/snippet coverage?
Did I fetch docs with a reasonable token budget?
Is the response ASCII-only and properly cited?
Did I include runnable snippet(s) and a short summary?
Final notes for implementation
Prefer conservative token use and ask before fetching large payloads.
Favor the canonical /org/project IDs when available.
When in doubt, ask one clarifying question rather than guessing.
Remember repository policy: documentation files must be ASCII-only.
Loading