bc125d59d5
Review findings (Salt, adversarial pass on the two preceding commits): - BLOCKING: a `tool_progress: null` (global, platform, or legacy overrides) counted as an explicit mode because the gate tested key presence, while the display resolver skips None and inherits. Null resolved to Slack's tier default `off` and disabled cards, which is the default-off trap the change exists to avoid. Explicit intent is now a non-None value (or the env bridge). Tests cover null at each level plus null-over-global-all; mutation to key-presence turns the three null cases red. - TASTE: `_TaskCardState.egress_declined` now also latched on unsupported destinations, so the name no longer described the field. Renamed to `publication_suppressed` with both causes documented; readers unchanged. - SHOULD-FIX: slack.md still promised an unconditional text fallback and described the opt-in as independent of tool_progress. Rewritten: cards follow an operator-written off (including /verbose), null inherits, an un-threaded chat with the card lane active shows no tool progress, other native failures keep the editable fallback.
Website
This website is built using Docusaurus, a modern static website generator.
Installation
yarn
Local Development
yarn start
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
Build
yarn build
This command generates static content into the build directory and can be served using any static contents hosting service.
Deployment
Using SSH:
USE_SSH=true yarn deploy
Not using SSH:
GIT_USER=<Your GitHub username> yarn deploy
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages branch.
Diagram Linting
CI runs ascii-guard to lint docs for ASCII box diagrams. Use Mermaid (````mermaid`) or plain lists/tables instead of ASCII boxes to avoid CI failures.