Conversation
There was a problem hiding this comment.
Pull request overview
This PR refreshes the project documentation to reflect current scaffolding status and future planning using the beads issue tracking system. It adds a comprehensive roadmap, updates status information, and enables multi-repo issue hydration for the LangLearn multi-repo architecture.
Changes:
- Added ROADMAP.md with categorized milestones and dependencies
- Updated README.md with current status section and references to ROADMAP and MIGRATION docs
- Updated MIGRATION.md with progress summary and resolved template ownership question
- Updated DESIGN.md with new decision record for template ownership
- Enabled multi-repo bead hydration in .beads/config.yaml
- Synced .beads/issues.jsonl with new and updated issues including closing langlearn-goc
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ROADMAP.md | New file documenting current status, in-progress work, and categorized future milestones |
| README.md | Added status section dated 2026-02-21 and references to ROADMAP and MIGRATION docs |
| MIGRATION.md | Added progress summary and clarified template ownership decision |
| DESIGN.md | Added decision record 0003 for template ownership |
| CHANGELOG.md | Added entry for documentation refresh |
| .beads/config.yaml | Enabled multi-repo hydration with references to langlearn-types, langlearn-imagegen, langlearn-anki, and langlearn-tts |
| .beads/issues.jsonl | Added and updated issues including closing langlearn-goc and adding cross-repo documentation refresh tasks |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ROADMAP.md
Outdated
| - Orchestrator scaffolding is in place (CLI/MCP stubs and language registry). | ||
| - End-to-end orchestration is not wired yet. | ||
|
|
||
| ## In progress |
There was a problem hiding this comment.
The issue "langlearn-goc" is listed under "In progress" in ROADMAP.md, but it's marked as closed in .beads/issues.jsonl (closed_at: 2026-02-21T13:26:57.85962-08:00). Since this PR is completing the work for langlearn-goc, it should not appear in the "In progress" section. Either remove this line or move it to a "Recently completed" section if the roadmap tracks completed work.
| ## In progress | |
| ## In progress | |
| - *(none at the moment)* | |
| ## Recently completed |
Remove hardcoded personal path from DESIGN.md and move closed langlearn-goc bead from "In progress" to "Recently completed" in ROADMAP.md. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace dead astral-sh/setup-uv SHA with v7.3.0 in lint.yml and test.yml. Fix MD022/MD032/MD055 violations in all docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comprehensive audit of langlearn, langlearn-anki, langlearn-imagegen, and langlearn-types against punt-kit standards. Key findings: missing release.yml, install.sh, .biff across all 4; CI path dependency question; langlearn-types CLI/MCP surface evaluation needed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ## Status (2026-02-21) | ||
|
|
||
| - CLI and MCP surfaces are scaffolding only (version, doctor, serve). |
There was a problem hiding this comment.
The Status section says the CLI/MCP surfaces are scaffolding only and lists only “version, doctor, serve”, but this README later documents langlearn install under MCP (and the CLI actually defines install, even if it’s a stub). To avoid conflicting docs, either include install in this list or reword the parenthetical to avoid implying those are the only commands.
| - CLI and MCP surfaces are scaffolding only (version, doctor, serve). | |
| - CLI and MCP surfaces are scaffolding only (version, install, doctor, serve). |
| ## 0002 — Multi-repo tri-modal architecture plan (SETTLED) | ||
|
|
||
| - Scope: multi-repo layout with `langlearn`, `langlearn-types`, `langlearn-imagegen`, `langlearn-anki`, and `langlearn-tts` as sibling directories. | ||
| - `langlearn-types` holds shared contracts only (protocols + dataclasses) and has no runtime dependencies. |
There was a problem hiding this comment.
DESIGN 0002 states that langlearn-types “has no runtime dependencies”, but this PR’s audit document notes that langlearn-types currently has CLI/MCP entry points and runtime deps (typer/rich/mcp). If this is a target-state decision, consider wording it as “should have”/“goal: no runtime deps” or add a note that the repo is being brought into compliance (tracked by the new bead).
| - `langlearn-types` holds shared contracts only (protocols + dataclasses) and has no runtime dependencies. | |
| - `langlearn-types` holds shared contracts only (protocols + dataclasses) and is intended to have no runtime dependencies (goal state; current CLI/MCP entry points and runtime deps such as `typer`, `rich`, and `mcp` are being brought into compliance under this design). |
| repos: | ||
| primary: "." # Primary repo (where this database lives) | ||
| additional: # Additional repos to hydrate from (read-only) | ||
| - ../langlearn-types | ||
| - ../langlearn-imagegen | ||
| - ../langlearn-anki | ||
| - ../langlearn-tts |
There was a problem hiding this comment.
This enables multi-repo hydration by default with relative paths to sibling checkouts (e.g. ../langlearn-types). That hard-codes an on-disk layout assumption into the repo’s default config. Consider leaving this block commented-out by default (or adding a short note explaining the required directory layout and how to override/disable it) so bd usage stays predictable for contributors who clone only this repository.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| - Add release.yml workflow | ||
| - Add .biff config | ||
| - Evaluate CLI/MCP surface — keep or remove? | ||
| - (install.sh only if CLI surface is kept) |
There was a problem hiding this comment.
Internal audit artifact committed to repository
Low Severity
punt-kit-audit.md appears to be a one-time session artifact that isn't mentioned in the PR description and isn't referenced from any other file. It contains internal infrastructure details (NATS relay URL, .biff team config snippet) and point-in-time findings that will become stale as items are resolved. The actionable items it identifies are better tracked as beads/issues rather than a static audit file committed alongside living docs like ROADMAP.md and DESIGN.md.
Add checkout steps for langlearn-types, langlearn-anki, langlearn-imagegen, and langlearn-tts so uv.sources path dependencies resolve during uv sync. Also fix ruff format violation in test_records.py. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/workflows/test.yml
Outdated
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | ||
| - uses: astral-sh/setup-uv@6b9c6063abd6010835c3544ecd25585bdf8de5ab # v5 | ||
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | ||
| with: | ||
| repository: punt-labs/langlearn-types | ||
| path: ../langlearn-types | ||
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | ||
| with: | ||
| repository: punt-labs/langlearn-anki | ||
| path: ../langlearn-anki | ||
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | ||
| with: | ||
| repository: punt-labs/langlearn-imagegen | ||
| path: ../langlearn-imagegen | ||
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | ||
| with: | ||
| repository: punt-labs/langlearn-tts | ||
| path: ../langlearn-tts |
There was a problem hiding this comment.
actions/checkout expects with.path to resolve under $GITHUB_WORKSPACE; using ../langlearn-* may fail (or be blocked) because it checks out outside the workspace directory. To keep the ../langlearn-* paths required by [tool.uv.sources], consider checking out this repo into a subdir (e.g. path: langlearn) and then check out sibling repos into langlearn-types, langlearn-anki, etc. under the workspace root, and run uv ... steps with working-directory: langlearn.
.github/workflows/lint.yml
Outdated
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | ||
| - uses: astral-sh/setup-uv@6b9c6063abd6010835c3544ecd25585bdf8de5ab # v5 | ||
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | ||
| with: | ||
| repository: punt-labs/langlearn-types | ||
| path: ../langlearn-types | ||
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | ||
| with: | ||
| repository: punt-labs/langlearn-anki | ||
| path: ../langlearn-anki | ||
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | ||
| with: | ||
| repository: punt-labs/langlearn-imagegen | ||
| path: ../langlearn-imagegen | ||
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | ||
| with: | ||
| repository: punt-labs/langlearn-tts | ||
| path: ../langlearn-tts |
There was a problem hiding this comment.
Same as in test.yml: checking out sibling repos to ../langlearn-* risks writing outside $GITHUB_WORKSPACE, which can break CI. A more robust pattern is to check out this repo into a subdirectory and place the sibling repos next to it within the workspace, then run lint steps from that subdirectory so ../langlearn-* resolves correctly.
actions/checkout blocks paths outside the workspace. Use git clone --depth 1 instead to place sibling repos at ../langlearn-* paths where uv.sources expects them. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove unused RECORD_TYPE_REGISTRY backward-compat shim - Remove redundant isinstance checks in safe_strip helpers - Add type annotation to forms dict literal Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 16 out of 16 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


Summary
Testing
Note
Low Risk
Mostly documentation and CI/workflow changes; minor code tweaks are low-impact but CI now depends on external GitHub clones and action pins.
Overview
Refreshes project documentation to reflect current scaffolding-only state and adds a new
ROADMAP.md, with corresponding updates toREADME.md,DESIGN.md,MIGRATION.md, andCHANGELOG.md.Enables multi-repo beads hydration by configuring
.beads/config.yamlto hydrate issues from sibling repos and updates.beads/issues.jsonlaccordingly.Fixes GitHub Actions
lint/testworkflows to clone sibling repos beforeuv sync(required by[tool.uv.sources]path dependencies) and updates theastral-sh/setup-uvaction pin; includes small type/format cleanup in record parsing/tests (e.g., removeRECORD_TYPE_REGISTRY, tightensafe_strip, add explicit dict typing).Written by Cursor Bugbot for commit eca0f28. This will update automatically on new commits. Configure here.