diff --git a/wiki/log/2026-07-27-tangled-cli-path.md b/wiki/log/2026-07-27-tangled-cli-path.md new file mode 100644 --- /dev/null +++ b/wiki/log/2026-07-27-tangled-cli-path.md @@ -0,0 +1,66 @@ +# The Tangled CLI section, verified against the machine + +``` +Type: log +``` + +Tick. The findings queue held one entry and this took it: a violation against +`wiki/process/tick.md`'s issue-filing section, filed 2026-07-26. Verifying it +before acting reversed half of it, which is exactly what the queue's +"re-verify the line still holds" rule exists to catch. + +## The half that was wrong + +The queued line carried a second-hand report that the CLI had been renamed to +`tg`, and noted that tick.md names `tang` in thirteen places plus both skill +shims. It correctly refused to guess and left verification to whoever took it. + +The machine says the rename is not true here: + +``` +$ which tang tg +/Users/cameron/.bun/bin/tang +tg not found +``` + +So the proposed sweep would have rewritten every documented command in tick.md, +`.agents/skills/tick/SKILL.md`, and `.agents/skills/plot-author/SKILL.md` to a +binary that does not exist — turning a working page into a broken one on the +strength of a rumor. No sweep was performed. tick.md now states that `tang` is +current, records the contradiction and its date, and instructs the next tick to +confirm with `which` before believing any future rename. + +## The half that was real, but imprecise + +The queued line said the global binary "actually points into +`~/.bun/install/global/node_modules/tangled-cli/dist/src/index.js`, so both the +directory and the `src/` segment are wrong." The directory claim needed +qualifying. Resolving the chain: + +``` +~/.bun/bin/tang + -> ~/.bun/install/global/node_modules/tangled-cli (bun link -> the fork) + -> ~/code/tangled-cli/dist/src/index.js +``` + +`readlink -f "$(which tang)"` resolves to +`/Users/cameron/code/tangled-cli/dist/src/index.js`. The global install is a +bun link *back to the fork*, so tick.md's underlying intent — that +`~/code/tangled-cli` is the live source — was right, and editing the fork does +change what `tang` runs. What was wrong is the named entry point. + +The trap worth documenting: `~/code/tangled-cli/dist/index.js` exists (Jul 9, +1392 bytes) and never executes; the real entry point is +`dist/src/index.js` (Jul 13, 2320 bytes). Anyone debugging the CLI from +tick.md's old sentence would have read a stale file that looked plausible. +tick.md now shows both hops, names `dist/src/index.js`, flags the stale +sibling, and gives `readlink -f` as the check rather than trusting either +file's presence. + +## Not done + +`tang` remains unauthenticated on this machine (`tang auth login` is browser +OAuth and human-only), so no issue was filed and the `decision-made` queue +could not be read at intake. sensor-network.md's `[OPEN]` sensor-install verb +question stays unfiled and still needs Cameron to log in — but it is no longer +blocked by a wrong path in the instructions. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -11,6 +11,11 @@ +## 2026-07-27 - The Tangled CLI section, verified against the machine + +- Intent: (see session log) +- Log: [wiki/log/2026-07-27-tangled-cli-path.md](2026-07-27-tangled-cli-path.md) + ## 2026-07-27 - Room approaches meet their doors - Intent: (see session log) diff --git a/wiki/process/tick-ledger.md b/wiki/process/tick-ledger.md --- a/wiki/process/tick-ledger.md +++ b/wiki/process/tick-ledger.md @@ -20,6 +20,7 @@ | Slice | Last audited | Verdict | Trace | |---|---|---|---| +| `wiki/process/tick.md` issue-filing workflow | 2026-07-27 | finding | took the queued CLI violation and verified it against the machine before acting, which reversed half of it. The `tg` rename is **not** true here — `which tg` finds nothing and `which tang` resolves, so the proposed 13-place sweep of tick.md (plus both skill shims) would have broken every documented command on a second-hand report. tick.md now records `tang` as current and tells the next tick to confirm with `which` rather than sweep on a rumor. The path half was real but imprecisely stated: the binary reaches the fork through a bun link (`~/.bun/bin/tang` -> `~/.bun/install/global/node_modules/tangled-cli` -> `~/code/tangled-cli`), so editing the fork does affect what runs — but the entry point is `dist/src/index.js`, and the `dist/index.js` the page named is a stale Jul-9 sibling that never executes. Both hops and the stale-sibling trap are now documented with `readlink -f "$(which tang)"` as the check. Auth remains unauthenticated, so no issue was filed — [log](../log/2026-07-27-tangled-cli-path.md) | | `wiki/world/places/basement-map.md` room topology | 2026-07-27 | finding | the queued five non-hall corridor cuts remained, and an executable all-room perimeter audit exposed the same dead-door shape at the loading-dock entry plus fixed objects blocking the interior faces of the roll door, HVAC door, both storage doors, Janitor door, and stairwell. Every non-hall approach now reaches its authored door from outside the prefab, every other perimeter tile remains closed, doorway interiors are clear, and the roll, sealed, tier-2, and tier-3 boundaries retain their exact kinds — [room-approach log](../log/2026-07-27-room-approaches-meet-doors.md). Prior [west-approach](../log/2026-07-26-west-hall-approach.md) and [hall-density](../log/2026-07-26-foundation-hall-density.md) repairs stand. | | `wiki/mechanics/sensor-network.md` sensor population | 2026-07-26 | finding | Cameron could only ever see one pool of light. Cause was not coverage shape but inventory: the whole B1 plate authors three sensing devices (hall monitor, security's dock camera, one tier-3 stairwell node), so nothing remains to acquire after the Eyes beat and sight cannot grow. Captured the reframe — sensors are ambient infrastructure (~30 in B1, populated by rule), access is the scarce thing, darkness always traces to a nameable air gap, and a new human operator room is watchable only through a player-installed sensor. Also found that reach.md already specifies the per-tick subscription drain and UNTAP that make curation a skill; it was simply unreachable with three sensors, so this supplies content to an existing economy rather than adding one. Corridors and Crawlspace prefabs still absent, recorded as basement-map residue — [log](../log/2026-07-26-sensor-network-capture.md) | | `wiki/interface/keymap.md` + terminal/Bevy input routes | 2026-07-26 | finding | the canonical table assigned `A` to left movement and only `e` / Enter to the context menu, but terminal still opened and closed menus with its older `a` alias and lacked the specified Shift+direction semantic jump. Terminal now implements WASD parity, `a` means left, `e` / Enter alone open the menu, and both frontends consume one renderer-neutral nearest-earned-anchor query without changing selection or opening a menu. README, action-vocabulary, terminal, context-menu, and pinned terminal hints now teach the same boundary — [log](../log/2026-07-26-terminal-keymap-a-reconciliation.md) | @@ -97,13 +98,4 @@ Types are the five from [tick.md](tick.md): violation, contradiction, question, bug, insecurity — plus `gate` for a checker owed to the recurrence-promotes-to-the-gate rule. -- 2026-07-26 · violation · `wiki/process/tick.md` issue-filing workflow · the binding - Tangled CLI section is stale against the machine. Cameron reports the CLI is now - `tg`, but tick.md names `tang` in 13 places (plus `.agents/skills/tick/SKILL.md` - and `.agents/skills/plot-author/SKILL.md`), and `tg` is not on PATH here while - `tang` is — so the correct replacement binary is unconfirmed and must be verified - before the sweep, not guessed. Independent of the rename, tick.md:81 states the - global binary symlinks to `~/code/tangled-cli/dist/index.js`; it actually points - into `~/.bun/install/global/node_modules/tangled-cli/dist/src/index.js`, so both - the directory and the `src/` segment are wrong. Blocks filing any decision packet, - including sensor-network.md's `[OPEN]` sensor-install verb question. +(empty) diff --git a/wiki/process/tick.md b/wiki/process/tick.md --- a/wiki/process/tick.md +++ b/wiki/process/tick.md @@ -77,8 +77,25 @@ ## Filing issues (Tangled CLI) The CLI is `tang` (source at `~/code/tangled-cli`, Cameron's fork — -disconnected from the markbennett.ca upstream). The global binary is a -symlink to `~/code/tangled-cli/dist/index.js`. +disconnected from the markbennett.ca upstream). **`tang` is the current name; +`tg` is not installed** (verified 2026-07-27 — an earlier queued finding +carried a second-hand report of a `tg` rename, and the machine contradicts it. +Confirm with `which` before believing any future rename, and do not sweep this +page on a rumor.) + +The global binary reaches the fork through two hops, so editing the fork does +change what `tang` runs: + +``` +~/.bun/bin/tang + -> ~/.bun/install/global/node_modules/tangled-cli (bun link -> the fork) + -> ~/code/tangled-cli/dist/src/index.js (the real entry point) +``` + +The entry point is `dist/src/index.js`. A stale `dist/index.js` also exists in +the fork and is **not** what runs — read or patch the `src/` path, and resolve +the chain with `readlink -f "$(which tang)"` rather than trusting either file's +presence. ```bash tang context # verify repo resolution