fix docs pages mirror target

This commit is contained in:
dirtydishes 2026-05-31 18:13:20 -04:00
parent 5074b7eeaa
commit 8933e29ae8
5 changed files with 508 additions and 150 deletions

View file

@ -1,3 +1,4 @@
{"_type":"issue","id":"islandflow-m3d","title":"fix docs mirroring to github pages","description":"The repository docs folder is supposed to mirror to dirtydishes.github.io for GitHub Pages, but the mirroring is not working. Investigate the docs publishing workflow and repair the configuration or scripts so docs can be published reliably.","status":"closed","priority":1,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-31T22:05:48Z","created_by":"dirtydishes","updated_at":"2026-05-31T22:12:26Z","started_at":"2026-05-31T22:05:56Z","closed_at":"2026-05-31T22:12:26Z","close_reason":"Updated docs Pages workflow to publish into dirtydishes/dirtydishes.github.io under islandflow/docs, tightened docs index generation, regenerated docs index, and documented validation/limitations.","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-2op","title":"[bug] Desktop app unclickable and no live data in hosted shell","description":"## Summary\\nDesktop Electron shell appears fully non-interactive (clicks do not work) and no live market data reaches the UI.\\n\\n## Why this matters\\nDesktop wrapper is currently unusable for core workflow and blocks users from validating market streams outside browser.\\n\\n## Scope\\nReproduce issue locally, identify root cause(s) in Electron shell and frontend integration, implement fix, and validate interactivity + data flow end-to-end.\\n\\n## Acceptance Criteria\\n- Desktop app responds to pointer interactions (navigation/actions clickable)\\n- Live data stream connects and updates UI in desktop mode\\n- Regression coverage or guardrails added where practical\\n- Findings and validation documented","status":"in_progress","priority":1,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-24T04:23:55Z","created_by":"dirtydishes","updated_at":"2026-05-24T04:23:57Z","started_at":"2026-05-24T04:23:57Z","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-jad","title":"Sync docs pages workflow fix to github mirror","description":"GitHub is still running an older docs Pages workflow with configure-pages because github/main is behind forgejo/main. Push the already-fixed workflow commit to the GitHub mirror so Actions runs the gh-pages branch deployment flow instead.","status":"closed","priority":1,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-23T22:27:46Z","created_by":"dirtydishes","updated_at":"2026-05-23T22:28:24Z","started_at":"2026-05-23T22:28:10Z","closed_at":"2026-05-23T22:28:24Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-bc7","title":"Fix docs Pages workflow configure-pages failure","description":"Replace the current docs Pages deployment flow so workflow runs succeed even when configure-pages cannot read or enable the site. Keep published docs target behavior for dirtydishes.github.io/islandflow/docs.","status":"closed","priority":1,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-23T22:23:28Z","created_by":"dirtydishes","updated_at":"2026-05-23T22:25:19Z","started_at":"2026-05-23T22:23:31Z","closed_at":"2026-05-23T22:25:19Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0}
@ -24,6 +25,7 @@
{"_type":"issue","id":"islandflow-ayo","title":"Drop stale backlog events from live fanout","description":"Follow-up to live freshness rollout: /ws/live was still fanning out stale backlog events for freshness-gated channels, which kept tape panes in Live feed behind despite active synthetic ingest. Gate fanout and cache ingest by freshness for options/nbbo/equities/flow.","status":"closed","priority":1,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-04-28T21:26:39Z","created_by":"dirtydishes","updated_at":"2026-04-28T21:26:44Z","started_at":"2026-04-28T21:26:44Z","closed_at":"2026-04-28T21:26:44Z","close_reason":"Completed","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-0v6","title":"Fix tape freshness, NBBO coverage, pause controls, and filter popup","description":"Implement the tape fixes requested for synthetic options notional sizing, strict live freshness, live-mode pause/resume behavior, stronger NBBO snapshot coverage, and moving flow filters behind a popup. Includes server-side live cache changes, web terminal state/UI changes, and tests for synthetic pricing, live snapshot freshness/NBBO retention, and live pause/filter interactions.","status":"closed","priority":1,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-04-28T21:02:52Z","created_by":"dirtydishes","updated_at":"2026-04-28T21:13:38Z","started_at":"2026-04-28T21:02:57Z","closed_at":"2026-04-28T21:13:38Z","close_reason":"Completed","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-e4r","title":"Implement smart-money flow filtering and synthetic firehose modes","description":"Implement the approved multi-surface plan for named synthetic market profiles, options raw-vs-signal filtering, live/API filter contracts, Tape page client-side flow filters, firehose-readiness improvements, tests, and README updates.","status":"closed","priority":1,"issue_type":"feature","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-04-28T20:10:49Z","created_by":"dirtydishes","updated_at":"2026-04-28T20:29:29Z","started_at":"2026-04-28T20:10:53Z","closed_at":"2026-04-28T20:29:29Z","close_reason":"Implemented synthetic market profiles, options signal-path filtering, signal-aware API/replay contracts, Tape page filters, tests, and README updates. Follow-up tracked in islandflow-biq.","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-8a6","title":"verify github pages token for docs mirror","description":"The docs mirror workflow now publishes islandflow/docs into dirtydishes/dirtydishes.github.io, but the GitHub Actions secret DOCS_PAGES_TOKEN must exist and have permission to push to that Pages repository. Verify the secret is configured and manually run the Publish Docs workflow after the mirror branch lands.","status":"open","priority":2,"issue_type":"task","owner":"dishes@dpdrm.com","created_at":"2026-05-31T22:12:27Z","created_by":"dirtydishes","updated_at":"2026-05-31T22:12:27Z","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-5jt","title":"Add anatomy reference page","description":"Create a standalone docs/anatomy.html reference explaining how prints move through ingest, tape, flow packets, smart-money events, classifier hits, and alerts, including diagrams.","status":"closed","priority":2,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-31T21:20:34Z","created_by":"dirtydishes","updated_at":"2026-05-31T21:25:54Z","started_at":"2026-05-31T21:20:44Z","closed_at":"2026-05-31T21:25:54Z","close_reason":"Added the standalone anatomy reference page and linked it from the docs index.","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-cig","title":"Expand CI quality gates","description":"Add a more robust CI workflow for the Bun/TypeScript monorepo, including formatting, linting, type checking, builds, and tests where appropriate.","status":"closed","priority":2,"issue_type":"task","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-30T06:29:33Z","created_by":"dirtydishes","updated_at":"2026-05-30T06:34:11Z","started_at":"2026-05-30T06:29:41Z","closed_at":"2026-05-30T06:34:11Z","close_reason":"Expanded CI quality gates with Biome formatting/linting, public API route checks, Docker snapshot validation, tests, typecheck, and web build validation.","dependency_count":0,"dependent_count":0,"comment_count":0}
{"_type":"issue","id":"islandflow-3l6","title":"fix ci typecheck bun path resolution","description":"Forgejo CI fails in scripts/typecheck.ts because the script shells out to bunx, which expects bun on PATH. The runner installs Bun by absolute path, so the typecheck helper should use the current Bun executable instead of PATH lookup.","status":"closed","priority":2,"issue_type":"bug","assignee":"dirtydishes","owner":"dishes@dpdrm.com","created_at":"2026-05-30T05:34:55Z","created_by":"dirtydishes","updated_at":"2026-05-30T06:00:31Z","started_at":"2026-05-30T05:35:02Z","closed_at":"2026-05-30T06:00:31Z","close_reason":"Fixed the Forgejo CI terminal import mismatch by switching the terminal client component to a namespace import; verified locally and on Forgejo run #56.","dependency_count":0,"dependent_count":0,"comment_count":0}

View file

@ -11,7 +11,7 @@ on:
workflow_dispatch:
permissions:
contents: write
contents: read
concurrency:
group: "docs-pages"
@ -20,6 +20,10 @@ concurrency:
jobs:
publish:
runs-on: ubuntu-latest
env:
PAGES_REPOSITORY: dirtydishes/dirtydishes.github.io
PAGES_BRANCH: master
PAGES_PREFIX: islandflow
steps:
- name: Checkout
uses: actions/checkout@v5
@ -29,26 +33,41 @@ jobs:
- name: Prepare static site payload
run: |
rm -rf site
mkdir -p site/docs
cp -R docs/. site/docs/
printf '%s\n' '<!doctype html><meta charset="utf-8"><meta http-equiv="refresh" content="0; url=https://dirtydishes.github.io/islandflow/docs/"><title>Islandflow Docs</title><a href="https://dirtydishes.github.io/islandflow/docs/">Continue to docs</a>' > site/index.html
touch site/.nojekyll
- name: Publish to gh-pages branch
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout GitHub Pages site
uses: actions/checkout@v5
with:
repository: ${{ env.PAGES_REPOSITORY }}
ref: ${{ env.PAGES_BRANCH }}
token: ${{ secrets.DOCS_PAGES_TOKEN }}
path: pages
fetch-depth: 0
- name: Mirror docs into Pages site
run: |
set -euo pipefail
rm -rf .gh-pages-tmp
mkdir .gh-pages-tmp
cp -R site/. .gh-pages-tmp/
cd .gh-pages-tmp
rm -rf "pages/${PAGES_PREFIX}"
mkdir -p "pages/${PAGES_PREFIX}"
cp -R site/. "pages/${PAGES_PREFIX}/"
touch pages/.nojekyll
git init
git checkout -b gh-pages
- name: Commit and push Pages mirror
run: |
set -euo pipefail
cd pages
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -A
git commit -m "publish docs from ${GITHUB_SHA}"
git add "${PAGES_PREFIX}" .nojekyll
git push --force "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" gh-pages:gh-pages
if git diff --cached --quiet; then
echo "No docs changes to publish."
exit 0
fi
git commit -m "publish islandflow docs from ${GITHUB_SHA}"
git push origin "HEAD:${PAGES_BRANCH}"

View file

@ -207,100 +207,274 @@
</header>
<section class="toolbar">
<div class="stats"><strong id="visible-count">36</strong> of <strong>36</strong> files shown</div>
<div class="stats"><strong id="visible-count">64</strong> of <strong>64</strong> files shown</div>
<input id="doc-search" class="search" type="search" placeholder="Filter by filename or folder..." autocomplete="off" />
<nav class="chips"><a class="chip" href="#category-turns">turns <span>28</span></a>
<nav class="chips"><a class="chip" href="#category-turns">turns <span>52</span></a>
<a class="chip" href="#category-daily-git">daily-git <span>1</span></a>
<a class="chip" href="#category-general">general <span>2</span></a>
<a class="chip" href="#category-general">general <span>6</span></a>
<a class="chip" href="#category-plans">plans <span>2</span></a>
<a class="chip" href="#category-root">root <span>3</span></a></nav>
</section>
<section class="groups" id="groups">
<section class="group" id="category-turns">
<h2>turns <span>28</span></h2>
<section class="groups" id="groups"> <section class="group" id="category-turns">
<h2>turns <span>52</span></h2>
<ul class="doc-list">
<li class="doc-item" data-search="turns/2026-05-19-publish-docs-pages-index.html turns">
<a class="doc-link" href="./turns/2026-05-19-publish-docs-pages-index.html">turns/2026-05-19-publish-docs-pages-index.html</a>
<li class="doc-item" data-search="turns/2026-05-31-fix-docs-pages-mirror.html turns">
<a class="doc-link" href="./turns/2026-05-31-fix-docs-pages-mirror.html">turns/2026-05-31-fix-docs-pages-mirror.html</a>
<div class="meta">
<span class="tag">html</span>
<span>6.7 KB</span>
<span>May 19, 2026, 2:59 PM</span>
<span>203 KB</span>
<span>May 31, 2026, 6:12 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-18-native-public-edge-cutover.html turns">
<a class="doc-link" href="./turns/2026-05-18-native-public-edge-cutover.html">turns/2026-05-18-native-public-edge-cutover.html</a>
<li class="doc-item" data-search="turns/2026-05-30-expand-ci-quality-gates.html turns">
<a class="doc-link" href="./turns/2026-05-30-expand-ci-quality-gates.html">turns/2026-05-30-expand-ci-quality-gates.html</a>
<div class="meta">
<span class="tag">html</span>
<span>19 KB</span>
<span>May 19, 2026, 2:48 PM</span>
<span>135 KB</span>
<span>May 31, 2026, 5:18 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-30-fix-forgejo-ci-test-mocks.html turns">
<a class="doc-link" href="./turns/2026-05-30-fix-forgejo-ci-test-mocks.html">turns/2026-05-30-fix-forgejo-ci-test-mocks.html</a>
<div class="meta">
<span class="tag">html</span>
<span>99 KB</span>
<span>May 31, 2026, 5:18 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-29-fix-electron-node-gyp-install-resolution.html turns">
<a class="doc-link" href="./turns/2026-05-29-fix-electron-node-gyp-install-resolution.html">turns/2026-05-29-fix-electron-node-gyp-install-resolution.html</a>
<div class="meta">
<span class="tag">html</span>
<span>7.9 KB</span>
<span>May 31, 2026, 5:18 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-29-remove-frontend-cooker.html turns">
<a class="doc-link" href="./turns/2026-05-29-remove-frontend-cooker.html">turns/2026-05-29-remove-frontend-cooker.html</a>
<div class="meta">
<span class="tag">html</span>
<span>8.1 KB</span>
<span>May 29, 2026, 9:52 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-29-configure-impeccable-live-mode.html turns">
<a class="doc-link" href="./turns/2026-05-29-configure-impeccable-live-mode.html">turns/2026-05-29-configure-impeccable-live-mode.html</a>
<div class="meta">
<span class="tag">html</span>
<span>8.4 KB</span>
<span>May 29, 2026, 4:05 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-29-add-typecheck-to-ci.html turns">
<a class="doc-link" href="./turns/2026-05-29-add-typecheck-to-ci.html">turns/2026-05-29-add-typecheck-to-ci.html</a>
<div class="meta">
<span class="tag">html</span>
<span>7.0 KB</span>
<span>May 29, 2026, 2:29 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-29-add-typecheck-command.html turns">
<a class="doc-link" href="./turns/2026-05-29-add-typecheck-command.html">turns/2026-05-29-add-typecheck-command.html</a>
<div class="meta">
<span class="tag">html</span>
<span>8.4 KB</span>
<span>May 29, 2026, 2:19 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-28-redesign-home-command-deck.html turns">
<a class="doc-link" href="./turns/2026-05-28-redesign-home-command-deck.html">turns/2026-05-28-redesign-home-command-deck.html</a>
<div class="meta">
<span class="tag">html</span>
<span>319 KB</span>
<span>May 28, 2026, 5:58 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-28-dashboard-mock-routes.html turns">
<a class="doc-link" href="./turns/2026-05-28-dashboard-mock-routes.html">turns/2026-05-28-dashboard-mock-routes.html</a>
<div class="meta">
<span class="tag">html</span>
<span>63 KB</span>
<span>May 28, 2026, 5:58 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-23-forgejo-ci-baseline.html turns">
<a class="doc-link" href="./turns/2026-05-23-forgejo-ci-baseline.html">turns/2026-05-23-forgejo-ci-baseline.html</a>
<div class="meta">
<span class="tag">html</span>
<span>16 KB</span>
<span>May 28, 2026, 5:58 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-23-rename-tape-options-drawer.html turns">
<a class="doc-link" href="./turns/2026-05-23-rename-tape-options-drawer.html">turns/2026-05-23-rename-tape-options-drawer.html</a>
<div class="meta">
<span class="tag">html</span>
<span>22 KB</span>
<span>May 28, 2026, 5:58 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-23-default-turn-doc-diffs.html turns">
<a class="doc-link" href="./turns/2026-05-23-default-turn-doc-diffs.html">turns/2026-05-23-default-turn-doc-diffs.html</a>
<div class="meta">
<span class="tag">html</span>
<span>5.4 KB</span>
<span>May 23, 2026, 6:53 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-23-update-github-pages-docs-target.html turns">
<a class="doc-link" href="./turns/2026-05-23-update-github-pages-docs-target.html">turns/2026-05-23-update-github-pages-docs-target.html</a>
<div class="meta">
<span class="tag">html</span>
<span>4.9 KB</span>
<span>May 23, 2026, 5:18 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-23-address-forgejo-issue-10-security-cves.html turns">
<a class="doc-link" href="./turns/2026-05-23-address-forgejo-issue-10-security-cves.html">turns/2026-05-23-address-forgejo-issue-10-security-cves.html</a>
<div class="meta">
<span class="tag">html</span>
<span>11 KB</span>
<span>May 23, 2026, 4:23 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-22-forgejo-primary-agent-workflow.html turns">
<a class="doc-link" href="./turns/2026-05-22-forgejo-primary-agent-workflow.html">turns/2026-05-22-forgejo-primary-agent-workflow.html</a>
<div class="meta">
<span class="tag">html</span>
<span>6.5 KB</span>
<span>May 23, 2026, 4:23 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-22-publish-standup-summary-2026-05-21.html turns">
<a class="doc-link" href="./turns/2026-05-22-publish-standup-summary-2026-05-21.html">turns/2026-05-22-publish-standup-summary-2026-05-21.html</a>
<div class="meta">
<span class="tag">html</span>
<span>5.5 KB</span>
<span>May 22, 2026, 9:04 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-21-publish-standup-summary-2026-05-20.html turns">
<a class="doc-link" href="./turns/2026-05-21-publish-standup-summary-2026-05-20.html">turns/2026-05-21-publish-standup-summary-2026-05-20.html</a>
<div class="meta">
<span class="tag">html</span>
<span>5.0 KB</span>
<span>May 21, 2026, 9:05 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-20-refresh-readme-github-description.html turns">
<a class="doc-link" href="./turns/2026-05-20-refresh-readme-github-description.html">turns/2026-05-20-refresh-readme-github-description.html</a>
<div class="meta">
<span class="tag">html</span>
<span>7.7 KB</span>
<span>May 20, 2026, 9:54 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-20-remote-backfill-sync.html turns">
<a class="doc-link" href="./turns/2026-05-20-remote-backfill-sync.html">turns/2026-05-20-remote-backfill-sync.html</a>
<div class="meta">
<span class="tag">html</span>
<span>4.3 KB</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-20-fix-alert-flow-packet-history.html turns">
<a class="doc-link" href="./turns/2026-05-20-fix-alert-flow-packet-history.html">turns/2026-05-20-fix-alert-flow-packet-history.html</a>
<div class="meta">
<span class="tag">html</span>
<span>14 KB</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-19-reconcile-pr-conflicts.html turns">
<a class="doc-link" href="./turns/2026-05-19-reconcile-pr-conflicts.html">turns/2026-05-19-reconcile-pr-conflicts.html</a>
<div class="meta">
<span class="tag">html</span>
<span>9.8 KB</span>
<span>May 19, 2026, 2:48 PM</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-18-native-fast-iterative-deploy.html turns">
<a class="doc-link" href="./turns/2026-05-18-native-fast-iterative-deploy.html">turns/2026-05-18-native-fast-iterative-deploy.html</a>
<div class="meta">
<span class="tag">html</span>
<span>9.0 KB</span>
<span>May 19, 2026, 2:48 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-19-0805-clarify-repo-turn-doc-rules.html turns">
<a class="doc-link" href="./turns/2026-05-19-0805-clarify-repo-turn-doc-rules.html">turns/2026-05-19-0805-clarify-repo-turn-doc-rules.html</a>
<div class="meta">
<span class="tag">html</span>
<span>6.4 KB</span>
<span>May 19, 2026, 8:05 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-19-0739-update-readme-current-state.html turns">
<a class="doc-link" href="./turns/2026-05-19-0739-update-readme-current-state.html">turns/2026-05-19-0739-update-readme-current-state.html</a>
<div class="meta">
<span class="tag">html</span>
<span>9.8 KB</span>
<span>May 19, 2026, 7:39 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-19-upgrade-nextjs-16.html turns">
<a class="doc-link" href="./turns/2026-05-19-upgrade-nextjs-16.html">turns/2026-05-19-upgrade-nextjs-16.html</a>
<div class="meta">
<span class="tag">html</span>
<span>9.0 KB</span>
<span>May 19, 2026, 7:31 AM</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-19-harden-native-ssh-deploy-checks.html turns">
<a class="doc-link" href="./turns/2026-05-19-harden-native-ssh-deploy-checks.html">turns/2026-05-19-harden-native-ssh-deploy-checks.html</a>
<div class="meta">
<span class="tag">html</span>
<span>7.0 KB</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-19-native-options-recovery-guardrails.html turns">
<a class="doc-link" href="./turns/2026-05-19-native-options-recovery-guardrails.html">turns/2026-05-19-native-options-recovery-guardrails.html</a>
<div class="meta">
<span class="tag">html</span>
<span>7.7 KB</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-19-publish-docs-pages-index.html turns">
<a class="doc-link" href="./turns/2026-05-19-publish-docs-pages-index.html">turns/2026-05-19-publish-docs-pages-index.html</a>
<div class="meta">
<span class="tag">html</span>
<span>6.7 KB</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-19-0739-update-readme-current-state.html turns">
<a class="doc-link" href="./turns/2026-05-19-0739-update-readme-current-state.html">turns/2026-05-19-0739-update-readme-current-state.html</a>
<div class="meta">
<span class="tag">html</span>
<span>9.8 KB</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-19-0805-clarify-repo-turn-doc-rules.html turns">
<a class="doc-link" href="./turns/2026-05-19-0805-clarify-repo-turn-doc-rules.html">turns/2026-05-19-0805-clarify-repo-turn-doc-rules.html</a>
<div class="meta">
<span class="tag">html</span>
<span>6.4 KB</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-19-fix-native-alpaca-news.html turns">
<a class="doc-link" href="./turns/2026-05-19-fix-native-alpaca-news.html">turns/2026-05-19-fix-native-alpaca-news.html</a>
<div class="meta">
<span class="tag">html</span>
<span>12 KB</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-18-native-fast-iterative-deploy.html turns">
<a class="doc-link" href="./turns/2026-05-18-native-fast-iterative-deploy.html">turns/2026-05-18-native-fast-iterative-deploy.html</a>
<div class="meta">
<span class="tag">html</span>
<span>9.0 KB</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-18-native-public-edge-cutover.html turns">
<a class="doc-link" href="./turns/2026-05-18-native-public-edge-cutover.html">turns/2026-05-18-native-public-edge-cutover.html</a>
<div class="meta">
<span class="tag">html</span>
<span>19 KB</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-18-news-wire-view.html turns">
<a class="doc-link" href="./turns/2026-05-18-news-wire-view.html">turns/2026-05-18-news-wire-view.html</a>
<div class="meta">
<span class="tag">html</span>
<span>7.0 KB</span>
<span>May 18, 2026, 4:54 PM</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-17-forgejo-deploy-remote-resolution.html turns">
<a class="doc-link" href="./turns/2026-05-17-forgejo-deploy-remote-resolution.html">turns/2026-05-17-forgejo-deploy-remote-resolution.html</a>
<div class="meta">
@ -309,8 +483,6 @@
<span>May 17, 2026, 11:22 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-17-add-fast-deploy-mode.html turns">
<a class="doc-link" href="./turns/2026-05-17-add-fast-deploy-mode.html">turns/2026-05-17-add-fast-deploy-mode.html</a>
<div class="meta">
@ -319,8 +491,6 @@
<span>May 17, 2026, 10:53 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-17-1101-clickhouse-alert-context.html turns">
<a class="doc-link" href="./turns/2026-05-17-1101-clickhouse-alert-context.html">turns/2026-05-17-1101-clickhouse-alert-context.html</a>
<div class="meta">
@ -329,8 +499,6 @@
<span>May 17, 2026, 10:21 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-17-clickhouse-alert-context.html turns">
<a class="doc-link" href="./turns/2026-05-17-clickhouse-alert-context.html">turns/2026-05-17-clickhouse-alert-context.html</a>
<div class="meta">
@ -339,8 +507,6 @@
<span>May 17, 2026, 10:21 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-17-deploy-allowlist-pr-packaging.html turns">
<a class="doc-link" href="./turns/2026-05-17-deploy-allowlist-pr-packaging.html">turns/2026-05-17-deploy-allowlist-pr-packaging.html</a>
<div class="meta">
@ -349,8 +515,6 @@
<span>May 17, 2026, 10:21 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-17-configure-beads-dolt-remote.html turns">
<a class="doc-link" href="./turns/2026-05-17-configure-beads-dolt-remote.html">turns/2026-05-17-configure-beads-dolt-remote.html</a>
<div class="meta">
@ -359,8 +523,6 @@
<span>May 17, 2026, 10:07 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-16-live-tape-scroll-hold-history.html turns">
<a class="doc-link" href="./turns/2026-05-16-live-tape-scroll-hold-history.html">turns/2026-05-16-live-tape-scroll-hold-history.html</a>
<div class="meta">
@ -369,8 +531,6 @@
<span>May 17, 2026, 5:06 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-17-0331-fix-live-tape-scroll-stability.html turns">
<a class="doc-link" href="./turns/2026-05-17-0331-fix-live-tape-scroll-stability.html">turns/2026-05-17-0331-fix-live-tape-scroll-stability.html</a>
<div class="meta">
@ -379,8 +539,6 @@
<span>May 17, 2026, 5:06 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-16-1725-durable-options-tape-history.html turns">
<a class="doc-link" href="./turns/2026-05-16-1725-durable-options-tape-history.html">turns/2026-05-16-1725-durable-options-tape-history.html</a>
<div class="meta">
@ -389,8 +547,6 @@
<span>May 17, 2026, 5:06 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-16-1752-speed-up-docker-deploys.html turns">
<a class="doc-link" href="./turns/2026-05-16-1752-speed-up-docker-deploys.html">turns/2026-05-16-1752-speed-up-docker-deploys.html</a>
<div class="meta">
@ -399,8 +555,6 @@
<span>May 17, 2026, 5:06 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-16-2159-fix-durable-options-history-routing.html turns">
<a class="doc-link" href="./turns/2026-05-16-2159-fix-durable-options-history-routing.html">turns/2026-05-16-2159-fix-durable-options-history-routing.html</a>
<div class="meta">
@ -409,8 +563,6 @@
<span>May 17, 2026, 5:06 AM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-15-add-duplicate-vps-compose-warning.html turns">
<a class="doc-link" href="./turns/2026-05-15-add-duplicate-vps-compose-warning.html">turns/2026-05-15-add-duplicate-vps-compose-warning.html</a>
<div class="meta">
@ -419,8 +571,6 @@
<span>May 15, 2026, 9:28 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-15-clarify-docker-first-deploy-workflow.html turns">
<a class="doc-link" href="./turns/2026-05-15-clarify-docker-first-deploy-workflow.html">turns/2026-05-15-clarify-docker-first-deploy-workflow.html</a>
<div class="meta">
@ -429,8 +579,6 @@
<span>May 15, 2026, 9:12 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-15-dual-runtime-deploy-workflow.html turns">
<a class="doc-link" href="./turns/2026-05-15-dual-runtime-deploy-workflow.html">turns/2026-05-15-dual-runtime-deploy-workflow.html</a>
<div class="meta">
@ -439,8 +587,6 @@
<span>May 15, 2026, 8:52 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-15-deploy-preflight-docker-workspace-check.html turns">
<a class="doc-link" href="./turns/2026-05-15-deploy-preflight-docker-workspace-check.html">turns/2026-05-15-deploy-preflight-docker-workspace-check.html</a>
<div class="meta">
@ -449,8 +595,6 @@
<span>May 15, 2026, 7:03 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-15-fix-docker-workspace-lockfile-sync.html turns">
<a class="doc-link" href="./turns/2026-05-15-fix-docker-workspace-lockfile-sync.html">turns/2026-05-15-fix-docker-workspace-lockfile-sync.html</a>
<div class="meta">
@ -459,8 +603,6 @@
<span>May 15, 2026, 6:56 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-15-quiet-terminal-view.html turns">
<a class="doc-link" href="./turns/2026-05-15-quiet-terminal-view.html">turns/2026-05-15-quiet-terminal-view.html</a>
<div class="meta">
@ -469,8 +611,6 @@
<span>May 15, 2026, 6:55 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-14-1824-adapt-terminal-view.html turns">
<a class="doc-link" href="./turns/2026-05-14-1824-adapt-terminal-view.html">turns/2026-05-14-1824-adapt-terminal-view.html</a>
<div class="meta">
@ -479,8 +619,6 @@
<span>May 15, 2026, 6:55 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-14-1833-reconcile-pr-conflicts.html turns">
<a class="doc-link" href="./turns/2026-05-14-1833-reconcile-pr-conflicts.html">turns/2026-05-14-1833-reconcile-pr-conflicts.html</a>
<div class="meta">
@ -489,8 +627,6 @@
<span>May 15, 2026, 6:55 PM</span>
</div>
</li>
<li class="doc-item" data-search="turns/2026-05-14-harden-terminal-view.html turns">
<a class="doc-link" href="./turns/2026-05-14-harden-terminal-view.html">turns/2026-05-14-harden-terminal-view.html</a>
<div class="meta">
@ -499,42 +635,64 @@
<span>May 15, 2026, 6:55 PM</span>
</div>
</li>
</ul>
</section>
<section class="group" id="category-daily-git">
<h2>daily-git <span>1</span></h2>
<ul class="doc-list">
<li class="doc-item" data-search="daily-git/2026-05-19-standup-summary-2026-05-18.html daily-git">
<li class="doc-item" data-search="daily-git/2026-05-19-standup-summary-2026-05-18.html daily-git">
<a class="doc-link" href="./daily-git/2026-05-19-standup-summary-2026-05-18.html">daily-git/2026-05-19-standup-summary-2026-05-18.html</a>
<div class="meta">
<span class="tag">html</span>
<span>16 KB</span>
<span>May 19, 2026, 2:55 PM</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
</ul>
</section>
<section class="group" id="category-general">
<h2>general <span>2</span></h2>
<h2>general <span>6</span></h2>
<ul class="doc-list">
<li class="doc-item" data-search="general/2026-05-29-standup-summary-2026-05-28.html general">
<a class="doc-link" href="./general/2026-05-29-standup-summary-2026-05-28.html">general/2026-05-29-standup-summary-2026-05-28.html</a>
<div class="meta">
<span class="tag">html</span>
<span>16 KB</span>
<span>May 29, 2026, 9:04 AM</span>
</div>
</li>
<li class="doc-item" data-search="general/2026-05-25-standup-summary-2026-05-24.html general">
<a class="doc-link" href="./general/2026-05-25-standup-summary-2026-05-24.html">general/2026-05-25-standup-summary-2026-05-24.html</a>
<div class="meta">
<span class="tag">html</span>
<span>11 KB</span>
<span>May 28, 2026, 5:58 PM</span>
</div>
</li>
<li class="doc-item" data-search="general/2026-05-22-standup-summary-2026-05-21.html general">
<a class="doc-link" href="./general/2026-05-22-standup-summary-2026-05-21.html">general/2026-05-22-standup-summary-2026-05-21.html</a>
<div class="meta">
<span class="tag">html</span>
<span>11 KB</span>
<span>May 22, 2026, 9:04 AM</span>
</div>
</li>
<li class="doc-item" data-search="general/2026-05-21-standup-summary-2026-05-20.html general">
<a class="doc-link" href="./general/2026-05-21-standup-summary-2026-05-20.html">general/2026-05-21-standup-summary-2026-05-20.html</a>
<div class="meta">
<span class="tag">html</span>
<span>16 KB</span>
<span>May 21, 2026, 9:05 AM</span>
</div>
</li>
<li class="doc-item" data-search="general/2026-05-18-standup-summary-2026-05-17.html general">
<a class="doc-link" href="./general/2026-05-18-standup-summary-2026-05-17.html">general/2026-05-18-standup-summary-2026-05-17.html</a>
<div class="meta">
<span class="tag">html</span>
<span>19 KB</span>
<span>May 18, 2026, 9:05 AM</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="general/2026-05-17-standup-summary-2026-05-16.html general">
<a class="doc-link" href="./general/2026-05-17-standup-summary-2026-05-16.html">general/2026-05-17-standup-summary-2026-05-16.html</a>
<div class="meta">
@ -543,25 +701,19 @@
<span>May 17, 2026, 10:07 AM</span>
</div>
</li>
</ul>
</section>
<section class="group" id="category-plans">
<h2>plans <span>2</span></h2>
<ul class="doc-list">
<li class="doc-item" data-search="plans/2026-05-18-native-fast-iterative-deploy-plan.html plans">
<li class="doc-item" data-search="plans/2026-05-18-native-fast-iterative-deploy-plan.html plans">
<a class="doc-link" href="./plans/2026-05-18-native-fast-iterative-deploy-plan.html">plans/2026-05-18-native-fast-iterative-deploy-plan.html</a>
<div class="meta">
<span class="tag">html</span>
<span>3.8 KB</span>
<span>May 19, 2026, 2:48 PM</span>
<span>May 20, 2026, 9:26 PM</span>
</div>
</li>
<li class="doc-item" data-search="plans/2026-05-16-1711-durable-options-tape-history.html plans">
<a class="doc-link" href="./plans/2026-05-16-1711-durable-options-tape-history.html">plans/2026-05-16-1711-durable-options-tape-history.html</a>
<div class="meta">
@ -570,16 +722,12 @@
<span>May 17, 2026, 5:06 AM</span>
</div>
</li>
</ul>
</section>
<section class="group" id="category-root">
<h2>root <span>3</span></h2>
<ul class="doc-list">
<li class="doc-item" data-search="anatomy.html root">
<li class="doc-item" data-search="anatomy.html root">
<a class="doc-link" href="./anatomy.html">anatomy.html</a>
<div class="meta">
<span class="tag">html</span>
@ -587,7 +735,6 @@
<span>May 31, 2026, 5:24 PM</span>
</div>
</li>
<li class="doc-item" data-search="clickhouse-reset-runbook.md root">
<a class="doc-link" href="./clickhouse-reset-runbook.md">clickhouse-reset-runbook.md</a>
<div class="meta">
@ -596,8 +743,6 @@
<span>May 17, 2026, 5:06 AM</span>
</div>
</li>
<li class="doc-item" data-search="terminal-audit-2026-05-14-0432.html root">
<a class="doc-link" href="./terminal-audit-2026-05-14-0432.html">terminal-audit-2026-05-14-0432.html</a>
<div class="meta">
@ -606,10 +751,8 @@
<span>May 15, 2026, 6:55 PM</span>
</div>
</li>
</ul>
</section>
</section>
</section></section>
<p class="empty" id="empty-state">No files match that filter.</p>
</main>

File diff suppressed because one or more lines are too long

View file

@ -129,8 +129,7 @@ function renderDocument(items) {
.map((entry) => {
const extension = path.extname(entry.relativePath).replace(".", "") || "file";
const searchable = `${entry.relativePath} ${category}`.toLowerCase();
return `
<li class="doc-item" data-search="${escapeHtml(searchable)}">
return ` <li class="doc-item" data-search="${escapeHtml(searchable)}">
<a class="doc-link" href="${docsHref(entry.relativePath)}">${escapeHtml(
entry.relativePath
)}</a>
@ -139,19 +138,16 @@ function renderDocument(items) {
<span>${escapeHtml(formatBytes(entry.sizeBytes))}</span>
<span>${escapeHtml(dateFormatter.format(entry.modifiedAt))}</span>
</div>
</li>
`;
</li>`;
})
.join("\n");
return `
<section class="group" id="category-${escapeHtml(category)}">
return ` <section class="group" id="category-${escapeHtml(category)}">
<h2>${escapeHtml(category)} <span>${entries.length}</span></h2>
<ul class="doc-list">
${entryMarkup}
</ul>
</section>
`;
</section>`;
})
.join("\n");