Skip to content

📄 Say where judgment goes, and give the argument a page of its own - #531

Merged
taras merged 3 commits into
mainfrom
home-principles-section
Aug 22, 2026
Merged

taras merged 3 commits into
mainfrom
home-principles-section

Conversation

@taras

@taras taras commented Aug 22, 2026 •

Copy link
Copy Markdown
Owner

Why

The home page landed in #529 from the Home.dc.html design canvas. The canvas has since gained a section the page does not have, reworded the lede that leads into it, and carries a second page — DesigningWorkflows.dc.html — that was never implemented. This brings the site back level with its design source, and updates the title and description a search result and a link preview show.

What changes

Before:

#readme argues that known work belongs in the document, then #agent starts talking about running AGENTS.md. Nothing on the page says what happens to the judgment that is not known work. The #readme lede calls that known work "procedure", which names the artifact rather than the thing being moved out of interpretation. The canvas's onward link and its nav entry both point at a Designing workflows page that does not exist here, so both were aimed at /docs instead. The title and description say the site turns documentation into repeatable workflows.

After:

A new #principles section answers the question directly — "When you know how, make it a program." — with a panel stating the point, three cards for the three cases (don't know how → agent; know how → program; judgment remains → keep that part agentic), and a link onward. /designing-workflows is that link's destination: the least-power argument, the practices that follow from encoding what is known, the two-column contrast between one autonomous prompt and the encoded equivalent, and the unknown → agentic → understood → encoded ladder. The nav carries it too. The lede now says "what you already know how to do", which is what both then act on, and the title and description name the same work.

How it works

/ → #principles → "Designing workflows →" → /designing-workflows

Review guide

Start with: site/routes/designing-workflows.tsx

Then review:

  1. The new #principles <section> and PRINCIPLES roster in site/routes/index.tsx
  2. site/components/Source.tsx and site/components/Prose.tsx — see "New abstractions"
  3. site/components/Header.tsx — the nav entry and the widened active
  4. The "/" and "/designing-workflows" entries in site/routes/_app.tsx — see "Look carefully at"

Look carefully at: the metadata change sets the new home page copy on the "/" entry rather than on DEFAULT_TITLE / DEFAULT_DESC, which the home page previously pointed at. /docs/control-flow and /docs/journal have no META entry of their own and read those constants as their fallback, so editing the constants would have retitled two documentation pages as well. The constants stay, still carrying the previous copy.

Scope

Included

  • The #principles section and the #readme lede rewording, matching Home.dc.html
  • /designing-workflows, matching DesigningWorkflows.dc.html, plus its nav entry and route metadata
  • The home page's title and description, and the OG and Twitter/X fields that derive from them

Intentionally unchanged

  • No stylesheet change. Every class both pages use (section, section-head, panel, card, grid, marks, eyebrow, link-rule, tok-*) already exists in site/assets/styles.css, which is what the canvas's _ds tokens and patterns were transcribed from.
  • The docs footer. Both canvas pages close on a short production note rather than the docs footer's link set, so components/Footer.tsx keeps serving the docs unchanged and PageFooter serves the two marketing pages.
  • Every other page's metadata, including the two docs pages that fall back to DEFAULT_TITLE / DEFAULT_DESC.

New abstractions

  • components/Source.tsx (Tok, the token builders, Source) exists because the new page hand-highlights document source the same way the home page does; it was the home page's private tokenizer until there were two callers.
  • components/Prose.tsx (Term, Chain, PageFooter, and the shared type scale) exists for the same reason — both pages set prose at one scale, draw arrow chains, and close on the same footer.
  • CLAIM is PANEL_LEDE renamed as it moved, now that a claim-weight line opens a panel on one page and closes a list on the other.
  • Each new abstraction has multiple concrete uses or a clear justification.
  • No speculative functionality is included.

Generated or mechanical changes

  • The parts of site/routes/index.tsx that swap local Term / Chain / Source / style constants for imports contain no intended behavior change. The rendered home page was diffed before and after the move: the only differences are the two intended ones, the new nav entry and the repointed section link.

How to verify it

  • cd site && deno task check proves fmt, lint, and types hold, and fails if the new JSX drifts from deno fmt's JSX line breaking (which oxfmt does not catch).
  • cd site && deno task build proves both routes render under the production Fresh build.
  • Manually: deno serve -A _fresh/server.js, then read / and /designing-workflows. Both pages' rendered text was diffed against the canvas source — every section, paragraph, list item, and code panel matches, and both themes were checked.
  • For the metadata: the title, description, og:title, og:description, twitter:title, and twitter:description tags on / show the new copy; the same tags on /docs/journal show the fallback copy unchanged, which fails if the constants were edited instead of the "/" entry.

Scope confirmation

  • Every changed file supports the purpose described above.
  • Unrelated cleanup and formatting changes are excluded.
  • Generated or mechanical changes are clearly identified.
  • The description matches the final diff and test results.

@github-actions

github-actions Bot commented Aug 22, 2026 •

Copy link
Copy Markdown

PR #531: 🎨 Say where judgment goes, and give the answer a section of its own

6 files, +463 / -97

Scope

🟡 560 lines changed. PRs under 400 receive more thorough review.

Structural

✅ No structural bloat detected.

Slop

✅ Slop indicators look low.

Static Analysis

✅ Oxlint found no issues.

Correctness

FILE: site/components/Prose.tsx
PATTERN: DEAD CONSTRUCTS
CONCERN: Unreferenced style constants H3 and P_MEASURED defined but not used in the PR's scope.
QUESTION: Are these styles intended for future use or accidental leftovers?

FILE: site/components/Prose.tsx
PATTERN: SPECULATIVE ABSTRACTIONS
CONCERN: H3 and P_MEASURED lack multiple concrete uses, violating the "Rule of Three" for abstractions.
QUESTION: Were these styles intentionally created for this PR or inherited from prior code?

@taras
taras enabled auto-merge (squash) August 22, 2026 02:33
The home page argued that known work should be executable but never said
where the remaining judgment goes. The design canvas answers that between
the README section and the agent section, so the page now carries it: an
agent for what you do not know how to do, a program for what you do, and
the agent kept only for the judgment that is left.

The README lede said "procedure", which named the artifact rather than the
thing being moved. It now says what you already know how to do, which is
what the new section then acts on.
@taras
taras force-pushed the home-principles-section branch from f86dcc5 to bd1c45f Compare August 22, 2026 02:41
@taras
taras disabled auto-merge August 22, 2026 02:48
taras added 2 commits August 21, 2026 22:56
…ow it

The homepage title and description are what a search result and a link
preview show, and they described the site as turning documentation into
workflows. They now name the work: repeatable work becomes a program,
and agents are kept for the judgment that is left.

The copy is set on the "/" entry rather than on DEFAULT_TITLE and
DEFAULT_DESC, because /docs/control-flow and /docs/journal have no entry
of their own and read those constants as their fallback. Editing the
constants would have retitled two documentation pages as well.
The home page's principles section ends by pointing somewhere, and the
nav offers a second destination, but the page they point at only existed
in the design canvas. Both pointed at /docs instead. This is that page:
least autonomy first, encode what is known, and the ladder a task climbs
as it stops being unknown.

The tokenizer and the prose styles moved to components/ because a second
page needs them; index.tsx now reads them from there instead of holding
the only copy.
@taras taras changed the title 🎨 Say where judgment goes, and give the answer a section of its own 📄 Say where judgment goes, and give the argument a page of its own Aug 22, 2026
@taras
taras enabled auto-merge (squash) August 22, 2026 03:03
@taras
taras merged commit 2dee108 into main Aug 22, 2026
17 checks passed
@taras
taras deleted the home-principles-section branch August 22, 2026 03:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant