diff --git a/CHANGELOG.md b/CHANGELOG.md index 80c9613..8387adb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 `` 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 diff --git a/FEATURES.md b/FEATURES.md index 3240534..5613206 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -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`. -- **TBD** — touched in this session: `tanglebrain/config/roster.yaml`. -- **TBD** — touched in this session: `tanglebrain/gui/static/index.html`. +- **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`. diff --git a/PROJECT-MAP.md b/PROJECT-MAP.md index 08bd234..76a8042 100644 --- a/PROJECT-MAP.md +++ b/PROJECT-MAP.md @@ -10,10 +10,23 @@ to file paths — this maps the layout itself. ## Structure -- `plugins/` — -- `tanglebrain/` — -- `tanglebrain.egg-info/` — -- `tests/` — +- `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 @@ -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)_