mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 10:59:59 +00:00
Add cli/contributing/changelog/archive: a CLI that trims CHANGELOG.md
to the last N entries (default 7) and writes every older release to
its own file under docs/changelog/ named <padded-semver>-<date>.md
(7.0.0 → 007.000.000-2026-05-08.md). The padded form makes a directory
listing already chronological, and the index in CHANGELOG.md is
rebuilt from the archive directory listing on every run, so it never
drifts away from what is on disk. The tool is idempotent and never
overwrites an existing archive file.
Run the migration once to split the 44-entry CHANGELOG.md into 7
inline entries plus 37 archived per-release files, with the index at
the bottom of CHANGELOG.md linking each archive in descending order.
Add docs/contributing/actions/release.md as the contributor-facing
release procedure (versioning, active window vs. archive, cutting a
release end-to-end, CI hand-off on tag push) and add a docs README
under docs/changelog/ that explains the archive directory layout and
filename schema. Cross-link release.md from pipeline.md and add
"releases" to the actions/ scope description.
Documentation cleanup pass on every page touched in the previous
mapping refactor:
- Remove "is the SPOT for X" / "Single Point of Truth" self-labels
across docs/contributing/, docs/agents/, and docs/changelog/. The
rule in documentation.md forbids self-declared SPOT status; status
is conferred by readers cross-linking, not by the page asserting
it. Rephrase to descriptive phrasing ("This page covers X",
"describes X", "lists X") throughout.
- Drop the orphaned docs/contributing/tools/actions.md duplicate
(101 lines paralleling tools/github/actions/workflows.md, with no
inbound links).
- Fix em-dashes used as thought breaks in dockerfile.md, origin.md,
agents/style.css.md, and suppression.md per documentation.md.
- Unwrap soft-wrapped sentences in iam/common.md, iam/ldap.md,
iam/oidc.md, image/origin.md, requirements.md, and dockerfile.md
so each logical line carries one full sentence.
Add a unit test for the archive CLI under
tests/unit/cli/contributing/changelog/archive/test_main.py covering
_pad_version, _split_into_entries, idempotency, dry-run, no-overwrite
of existing archives, and the multi-run index rebuild.
Quote `# noqa:` in CHANGELOG.md prose with backticks so the
noqa-only-ruff-codes lint does not parse "for" as a non-ruff code.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.1 KiB
2.1 KiB
playwright.env.j2
This page covers automatically generating and updating role-local playwright.env.j2 files.
Use this page for the rendered test input surface, variable naming, and entry-point selection.
For runner discovery, staging, and repository-side contract rules, see Playwright Tests.
For the matching scenario implementation, see Role playwright.spec.js.
Goal
- You MUST provide only the environment values that the role-local Playwright suite actually needs.
- Variable naming and entry-point semantics are governed by the contrib SPOT for
playwright.spec.js(Environment Contract + Entry Point). This page only adds template-side mechanics. - You MUST render the real entry point, URLs, feature flags, and credentials that the deployed role exposes.
Implement
- You MUST define
APP_BASE_URLconsistent with the Entry Point rules in the contrib SPOT, in particular the dashboard routing rule whenservices.dashboard.enabledis set. - Expose app-specific base URLs, issuer URLs, feature flags, and credentials only when the spec consumes them.
- You MUST use
dotenv_quotefor values that may contain spaces, special characters, or shell-sensitive content. - When the suite covers multiple personas such as
biberandadministrator, you MUST expose separate variables for each scenario instead of overloading one shared credential pair.
Avoid
- Do NOT expose unused variables, duplicate values, or secrets that the spec never reads.
- Do NOT hardcode domains or credentials that should come from role variables, inventory, or lookups.
Review
- You MUST check that every environment variable referenced in
playwright.spec.jsis present in the rendered.env(the name-alignment MUST is owned by the contrib SPOT Environment Contract). - You MUST check that
APP_BASE_URL, app URLs, issuer URLs, and feature toggles match the deployed role. - You MUST check that persona-specific credentials such as
biberandadministratormap to the intended scenarios.