Member site: plainweave.foundryside.dev (Astro) + Pages deploy#3
Conversation
Replicates the member-site pattern on @weft/site-kit (woad thread): hero 'permission for code to exist', intent-coverage-as-floor honesty beat, honest pairings, mandatory honest-limits, and the 'Not a compliance or sign-off system' deconfliction-not-security disclaimer. Astro build green. Not deployed (public remote/name owner-gated). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build site/ (Astro) on push to main + manual dispatch, and deploy to Pages via actions/deploy-pages. `npm ci` runs the preinstall fetch of the public @weft/site-kit; the custom domain rides the artifact (site/public/CNAME). The portfolio office dropped the site source + CNAME but not the deploy workflow this references; this supplies it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 34f06b95d3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| {/* ---------------------------------------------------------------- */} | ||
| {/* 1 · Hero — tagline + member dossier terminal (the honesty beat) */} | ||
| {/* ---------------------------------------------------------------- */} | ||
| <section class="hero" style={`--thread: ${me.thread};`}> |
There was a problem hiding this comment.
Add Plainweave to the fetched site-kit roster
When the Pages workflow runs npm ci, fetch-site-kit.mjs vendors @weft/site-kit from foundryside-dev/weft@main, and that data set still has charter but no plainweave in its roster/matrix. In that context getMember(SELF) returns null, so this me.thread dereference aborts astro build before any Pages artifact is produced; either fetch a site-kit ref containing the Plainweave roster entry or handle the missing member before rendering.
Useful? React with 👍 / 👎.
| <div><span class="terminal__prompt">$</span> plainweave <span class="terminal__arg">intent orphans code</span></div> | ||
| <div><span class="terminal__hl">loomweave:eid:py:exported-api:billing.export_ledger</span> → no requirement <span class="terminal__dim">("why does this exist?")</span></div> | ||
| <div class="terminal__gap"></div> | ||
| <div><span class="terminal__prompt">$</span> plainweave <span class="terminal__arg">bind sei</span> loomweave:eid:py:exported-api:billing.export_ledger --req REQ-204</div> |
There was a problem hiding this comment.
Use the actual bind CLI syntax
The quick-start command as rendered here does not match the CLI that this repo exposes: _register_bind_commands defines bind sei as two positional arguments (entity_id and requirement_id) and has no --req option, so copy-pasting this line exits with unrecognized arguments: --req. This should show the requirement id positionally, otherwise the primary “bind it” step in the usage snapshot is broken.
Useful? React with 👍 / 👎.
| { | ||
| name: 'Optional operator web UI', | ||
| what: 'A read-and-author mirror of the intent graph for non-CLI operators: an intent dashboard (coverage, orphans, and an in-band no-silent-clean banner), corpus browse with filters, requirement detail + authoring with current-vs-draft side-by-side and two-step draft approval, goals, and a unified review queue for drafts + proposed trace links with a required-reason accept/reject. Local-first, single-operator, advisory — no release verdicts.', | ||
| primitive: "pip install 'plainweave[web]' · plainweave web --actor human:<you>", |
There was a problem hiding this comment.
Do not publish an unusable web-extra install
For visitors following the published install path, pip install 'plainweave[web]' currently resolves the latest PyPI release, 1.0.0, which does not provide the web extra; pip therefore installs Plainweave without Starlette/Uvicorn and plainweave web immediately exits with the missing-extra hint. Until a release containing the extra is published, this should point to a repo/main install or not present the web UI as pip-installable.
Useful? React with 👍 / 👎.
The Plainweave member website
Adds the operator/portfolio member site (
site/, Astro →@weft/site-kit) that serves plainweave.foundryside.dev, plus the GitHub Pages deploy workflow it needs.Two commits:
site:— the page source the Weft portfolio office dropped in (hero, capabilities, usage snapshot, pairings matrix from kit data, mandatory honest-limits, CTA). Data-driven from the shared@weft/site-kitso it can't drift from the hub; advisory-only, consumes the SEI, renders no verdict.ci(site):—.github/workflows/site.yml: build Astro on push tomain(+ manual dispatch) → upload Pages artifact →deploy-pages. The office's source referenced this workflow but didn't include it; this supplies it.Notes
site/public/CNAME→dist/CNAME), sodeploy-pagessets it on first deploy. The DNS record (plainweave.foundryside.dev→ GitHub Pages) is owner/infra-side.npm ciruns thepreinstallhook that sparse-clones the publicfoundryside-dev/weftpackages/site-kit— no token needed.main. Pages source = GitHub Actions.Verification
npm run buildgreen locally (1 page, React islands bundled).🤖 Generated with Claude Code