Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Internal

- **Reconciled `FEATURES.md` and `PROJECT-MAP.md` with the current generator.** Both landed in the
repo carrying a superseded TangleClaw scaffold: `FEATURES.md` documented the abandoned
`file.js:line` pointer format (the generator now mandates stable `file.js#symbolName` anchors,
precisely because line pointers rot) and named its third section `Methodologies / Engines` rather
than `Governance / Engines`, and `PROJECT-MAP.md` omitted the `Tangle-Shared` doc group. Both
files now match `TangleClaw/lib/projects.js`, the three auto-stubbed `TBD` entries are resolved,
and the `<!-- describe -->` placeholders are filled.

- **Issue templates now declare labels that exist.** `feature.md` and `add-backend.md` asked for a
`feature` label the repo has never had, so `gh issue create` failed outright on it and
UI-filed issues landed unlabeled. Both now use `enhancement`; the `backend` label
Expand Down
21 changes: 14 additions & 7 deletions FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,26 @@ Maintained automatically: the wrap-step handler appends
stubs when PRs touch new files. Fill in descriptions before
next wrap.

Format: - **Name** — short description. file.js:line, file2.js:line.
Format: - **Name** — short description. `file.js` plus stable anchors:
`file.js#symbolName` for a function/const, or a literal route string
for server routes. NO :line pointers — nothing re-verifies them, so
they rot.
-->

## UI / Web

- **Knob panel** — local web UI for inspecting the roster and firing one-off runs against a chosen
backend. Static page in `tanglebrain/gui/static/index.html`; served by
`tanglebrain/gui/server.py`, with request handling split into pure dispatch in
`tanglebrain/gui/views.py`. `POST /api/*` requires `Content-Type: application/json`.

## Server / API

## Methodologies / Engines
## Governance / Engines

## CLI / Tooling

## TODO (auto-stubbed 2026-07-06)

- **TBD** — touched in this session: `ARCHITECTURE.md`. <!-- describe -->
- **TBD** — touched in this session: `tanglebrain/config/roster.yaml`. <!-- describe -->
- **TBD** — touched in this session: `tanglebrain/gui/static/index.html`. <!-- describe -->
- **Packaged example roster** — the fallback roster shipped inside the package,
`tanglebrain/config/roster.yaml`. It is a starting point, not the live config: resolution is
`$TANGLEBRAIN_ROSTER` → `~/.config/tanglebrain/roster.yaml` → this file, so a real roster lives
outside the repo and survives `git pull`. Loaded by `tanglebrain/roster.py`.
23 changes: 19 additions & 4 deletions PROJECT-MAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,23 @@ to file paths — this maps the layout itself.

## Structure

- `plugins/` — <!-- describe -->
- `tanglebrain/` — <!-- describe -->
- `tanglebrain.egg-info/` — <!-- describe -->
- `tests/` — <!-- describe -->
- `tanglebrain/` — the package. Routing core at the top level (`router.py`, `selector.py`,
`classifier.py`, `roster.py`), entry points beside it (`cli.py`, `mcp_server.py`), and one
subpackage per surface: `adapters/` (backend drivers — `cli`, `openai_compat`, `api`, over a
shared `base`), `serve/` (the OpenAI-compatible local endpoint), `gui/` (the knob panel),
`config/` (the packaged example roster).
- `plugins/` — the Claude Code plugin this repo's own marketplace publishes
(`tanglebrain-delegate`). Declarative manifests only; it wires the console script rather than
vendoring any code.
- `tests/` — the unittest suite (`make test`), roughly one file per module, plus meta-tests
guarding things no runtime path exercises: `test_plugin_manifest.py` (manifest drift) and
`test_packaging.py` (dependency-constraint invariants).
- `.claude-plugin/` — `marketplace.json`, which is what makes this repo a Claude Code plugin
marketplace.
- `.github/` — CI (`ci.yml`: the suite on Python 3.10/3.11/3.12) and release automation
(`publish.yml`: PyPI upload via OIDC trusted publishing, fired by a published GitHub release),
plus issue and PR templates.
- `tanglebrain.egg-info/` — build detritus from an editable install. Gitignored; ignore it.

## Shared directories / doc groups

Expand All @@ -22,3 +35,5 @@ to file paths — this maps the layout itself.
- `TANGLEBRAIN`
- `TANGLEBRAIN-C1-REPORT`
- `TANGLEBRAIN-PLAN`
- **Tangle-Shared** → `/Users/jasonvaughan/Documents/Projects/Shared/Tangle-Shared`
- _(no docs registered)_
Loading