**jms:**
new session
**Claude:**
I'll pull up the session log and site notes for the briefing.
Session briefing:
## Last session — 2026-09-06
Set up a TouchDesigner-Python project across two branches of the vault. You asked for a new project + code folder + repo clone; two things needed settling first (you said "320," but 330 is TouchDesigner; and no `100-Projects` subfolder fit software), so both were confirmed with you — you named a **new `160 - Software` subfolder**.
- Created [100-Projects/160 - Software/](100-Projects/160 - Software/) with its `0000` index, `00010` notes, and the `0010 - TouchDesigner-Python` project page; registered 160 in CLAUDE.md's notation table and [000 - Site Index.md](000 - Site Index.md).
- Cloned `wtkns/touchdesigner-python` into [300-Code/330 - TouchDesigner/](300-Code/330 - TouchDesigner/) — repo is currently empty (one initial commit), and the project page says so. Clone folder added to `.gitignore` so it isn't recorded as an embedded gitlink.
- Added `330`'s index/notes pages and its own `0010 - TouchDesigner-Python.md`. You chose `0000`/`00010` numbering for `300-Code` and extended the numbered-H1 rule to all of `300-Code`; CLAUDE.md updated for both.
- **Live gotcha:** the 160 and 330 pages share a basename, so all links to either are path-qualified. Recorded in CLAUDE.md and both notes pages.
## Open items — Current Work
1. Working on [Sean Cubitt's "Glitch" article](200-Research/240 - Primary Sources/10 - Chapters and Articles/Glitch (Cubitt).md) (240.10).
2. Review the large number of `publish: false` articles.
3. Manually add `300 - Code` and `160 - Software` to the site index.
Note on #3: `160 - Software` was added to the site index last session — the remaining piece is `300 - Code` (and `390`), which still has no site-index entry at all. That may be deliberate for an internal `publish: false` area; your call.
**jms:**
add to open items in site notes: "TouchDesigner-Python bootstrap project"
**Claude:**
Added to Current Work in [010 - Site Notes.md:17](010 - Site Notes.md#L17). The `modified` date is already `2026-09-06`, so no frontmatter change was needed.
**jms:**
<ide_opened_file>The user opened the file i:\PORTALS\PORTALS\DAT\StartupExt.py in the IDE. This may or may not be related to the current task.</ide_opened_file>
the repository in 330.0010 is going to be a minimal bootstrapping routine for setting up a new touchdesigner project, ready for development, which is launched and populated from python code that can be managed in the IDE. update your notes.
**Claude:**
Notes pages reference the project only for the pairing convention — nothing stale there. Updated to reflect the actual scope:
**Both project pages** — description now reads *"Minimal bootstrap routine that stands up a new TouchDesigner project ready for development, launched and populated from Python code managed in an IDE."*, replacing the "empty repo, scope TBD" placeholder text.
- [160.0010 - TouchDesigner-Python](100-Projects/160 - Software/0010 - TouchDesigner-Python.md) — Introduction now states the aim (project structure kept in version-controlled Python rather than inside a `.toe` binary, so authored material is editable/diffable in an external editor) and that scope stays minimal.
- [330.0010 - TouchDesigner-Python](300-Code/330 - TouchDesigner/0010 - TouchDesigner-Python.md) — new **Scope** section covering the same from the code side; the Setup section's placeholder now also names "how the bootstrap script is invoked" as a thing to record. Clone status (empty at `3148e25`) kept as a factual record of the clone.
- Both index entries ([160](100-Projects/160 - Software/0000 - Software Index.md), [330](300-Code/330 - TouchDesigner/0000 - TouchDesigner Index.md)) updated to match the new descriptions.
**jms:**
clone the repo from github.com/wtkns/PORTALS to a folder in 330 named 0060 - PORTALS
**Claude:**
Now updating the 330 notes page so its pairing convention reflects that PORTALS pairs with 120, not 160.
Cloned and wired into the vault.
**Clone** — `wtkns/PORTALS` → [300-Code/330 - TouchDesigner/0060 - PORTALS/](300-Code/330 - TouchDesigner/0060 - PORTALS/), branch `main` at `6aff389`, 25 MB. Added to [.gitignore](.gitignore) alongside the TouchDesigner-Python clone, so the vault repo doesn't record it as an embedded gitlink (confirmed: it doesn't appear in `git status`).
I picked `0060` deliberately, not just because you said it: there's already a [120.0060 - PORTALS](100-Projects/120 - Performance and Installation Art/0060 - PORTALS.md) catalog page, so the numbers now match across the pair, the way `0010` does for TouchDesigner-Python.
**Vault-side pages** created/updated per the 330 convention:
- New [330.0060 - PORTALS](300-Code/330 - TouchDesigner/0060 - PORTALS.md) — repo/clone record, layout of `DAT/`, `DOC/`, `BIT/PortalClock/`, the `.toe` files, `score.yaml`/`patternfile.tsv`; setup notes (TD 2025.30060, `tdPyEnvManager` from `requirements.txt`, the untracked `BAT/portals.bat`, the VS Code interpreter-path gotcha); and a short outline of the state machine and score/video-library structure. Drawn from the repo's README and tree, with a pointer back to that README as the primary dev log rather than mirroring it. `publish: false` / `status: draft` as usual.
- [330 index](300-Code/330 - TouchDesigner/0000 - TouchDesigner Index.md) — entry added, alphabetized above TouchDesigner-Python.
- [330 notes](300-Code/330 - TouchDesigner/00010 - TouchDesigner Notes.md) — the pairing convention said code projects pair with `160 - Software`; PORTALS pairs with `120` instead, so the rule now reads "a catalog page under `100-Projects`," with the 160-is-usual-but-not-always exception spelled out. The wikilink-collision caution now covers `0060 - PORTALS.md` too.
One thing I left alone: the 120 page has no link to the new code page. It's `publish: true`, and the code page is `publish: false`, so a wikilink there would be dead on the published site. Say the word if you want it added anyway, or the code page published.
**jms:**
link the 120 page to the github repository if it isn't already linked
**Claude:**
Added — the page had no repo reference at all. [120.0060 - PORTALS:23](100-Projects/120 - Performance and Installation Art/0060 - PORTALS.md#L23) now carries `Code: [github.com/wtkns/PORTALS](https://github.com/wtkns/PORTALS)`, sitting just below the YouTube link at the top. It's a plain external link, so it works on the published site. `modified` bumped from `2025-07-25` to `2026-09-06`.
**jms:**
330.0060 is excluded from obsidian sync.
**Claude:**
Confirmed on my side — nothing in the vault's files needed to change for that. Sync's folder exclusions live in the Sync plugin's own settings, not in any tracked file, so both [330.0060 - PORTALS](300-Code/330 - TouchDesigner/0060 - PORTALS.md) and [330.0010](300-Code/330 - TouchDesigner/0010 - TouchDesigner-Python.md) already describe the clones accurately.
One related gap worth flagging: sync exclusion isn't the same as index exclusion. `.obsidian/app.json` has no `userIgnoreFilters`, and `workspace.json`'s recent-files list currently includes things like `0060 - PORTALS/DAT/StartupExt.py` and `DOC/IMAGES/state_diagram.png` — so the clone contents are still indexed locally: they show up in search, Quick Switcher, the graph, and as unlinked-mention candidates. Same for the TouchDesigner-Python clone.
Want me to add both clone folders to Obsidian's **Excluded files** (`userIgnoreFilters` in `app.json`)? It's a local settings change, and `app.json` is tracked, so it'd apply on any machine that pulls the vault.
**jms:**
<ide_opened_file>The user opened the file c:\Users\jms\Documents\wtkns.com\.gitignore in the IDE. This may or may not be related to the current task.</ide_opened_file>
no. i added it in the gui. update everything and push