Tags

Tags give the ability to mark specific points in history as being important
  • v1.4.0

    Release: reference v1.4.0
    reference v1.4.0
    
    ### Added
    
    - **`details.idx-group` in `design/patterns/disclosure-index.css`, the scanning layer above the rows.** A named group of index rows behind its own disclosure, its summary carrying a count, the group's name as a real heading, and one line on why to open it: the rows are not cut, they move one level down, which is THE MODEL the pattern already states applied one level up. The group carries `idx-group` alone and never `evidence` beside it, and the file's header records why before a maintainer reaches for the shorter selector; frame and metrics match the lab chrome's evidence-step disclosure, so the first consumer, the offline-readiness notebook, drops its page-local `details.evidence.mech-group` rule and renders unchanged.
    
    - **A fourth ruling on `/design/authoring/`: items read as written today, and the changelog carries the history.** A record that corrects itself in place accumulates archaeology, the "an earlier version said X, that was wrong" passages that serve the author's conscience and cost every later reader. Every correction earns a dated changelog line so a withdrawal stays findable, compressed on the way in rather than relocated, and the page states the trap beside the rule: a correction note usually has a live finding inside it, so it is sorted sentence by sentence, world-facts rewritten positively in the item's own voice and editing-facts moved out.
    
    - **A fifth ruling on `/design/authoring/`: past roughly forty index rows, introduce a grouping layer and make the group the scanning unit.** The sharper form of root-orients-while-disclosures-carry, and it only arrives on a long page: the rows are not cut, they move one level down, and the `details.idx-group` primitive added above is the built shape. The corollary ships beside the rule because it is the tempting mistake, that a gist is how a reader decides what to open, so shrinking the gists to hit a number trades comprehension for a smaller measurement.
    
    ### Fixed
    
    - **The index row's name no longer renders smaller than its own gist.** `.idx > details.item > summary` in `design/patterns/disclosure-index.css` set `font-size: var(--text-sm)` where the frame it restates uses 0.9rem, and `.i-name` takes its size from the summary, so an item's name rendered a step smaller than the gist beside it and inverted the row's reading order. The file's header records why 0.9rem is the row's type size.
    
    - **The release page carries the version's CHANGELOG section, rather than the words `Release vX.Y.Z`.** The catalog release component passes the annotated tag body straight to the release page with no template of its own, so a tag built with `-m "Release $ref"` published a surface that said nothing while the notes for that version sat finished two files away. `scripts/release-notes.sh` now builds the body from that section and refuses the tag rather than ship a stub, `just validate-release-notes` catches an unextractable section on the merge request that wrote it, and both scripts carry the reasoning in their headers.
    
  • v1.3.0

    946dd24d · Release v1.3.0 ·
    Release: reference v1.3.0
    The design system absorbs its first heavily iterated consumer page, and conformance settles on tier follows control backing.
    
    - **Added.** The `license` standard (blocking); the `/design/authoring/` page carrying three page-composition rulings; `design/patterns/disclosure-index.css`, the first authored pattern, with its class contract; a generated `## Verify` block in every standard, derived from its own `check.sh`; an advisory severity tier.
    - **Changed.** The lab TOC primitive is a vertical ordered list; the chrome self-hosts its fonts and makes only same-origin requests; catalog pins move to v5.0.0; `renovate`, `security-md`, and `presentation` assert properties rather than wording; `design`, `llms-txt`, and `posture-claims` move to the advisory tier, because tier follows control backing.
    - **Removed.** The `ai-assisted` standard, folded into `contributing`; the `reference-check` story everywhere it was told.
    - **Fixed.** Four token-layer contrast failures, corrected for every consumer at once; the `codeowners` template's automerge deadlock; the `pipeline` standard's host anchoring; `presentation`'s unparseable frontmatter.
    
    The version-scheduled enforcement flips in the v1.0.0 notes, including the mode flip announced for this version, belonged to the retired `reference-check` architecture. This release performs no flip: per-repo enforcement stays with the catalog's narrow components.
    
    - **Artifact.** The Pages design CDN and agent surface: https://gitlab-com.gitlab.io/public-sector/reference/design/
    - **Documentation.** https://gitlab-com.gitlab.io/public-sector/reference/
    - **CHANGELOG.** https://gitlab.com/gitlab-com/public-sector/reference/-/blob/v1.3.0/CHANGELOG.md#130--2026-08-24
    
  • v1.2.0

    Release v1.2.0
  • v1.1.0

    v1.1.0 -- paper template, build-time previews, agent surface expansion.
    
    Second release of the Public Sector reference. Substantive additions
    across templates, build system, agent surface, and the reference site
    itself. No breaking schema changes; consumer .reference.yaml files
    keep working.
    
    Templates:
    - templates/paper/ -- third project template alongside lab/ and docs/.
      Two-column academic LaTeX with design/typeset/gitlab.sty (slate/steel
      palette, preprint watermark, amsmath/amssymb/cleveref/tikz preloaded).
      `make new-project TEMPLATE=paper` stamps a working paper repo wired
      to the paper@~latest catalog component.
    
    Build system:
    - Ephemeral build-time template-preview capture
      (site/scripts/capture-template-previews.mjs). Stamps each template,
      screenshots lab + docs via Playwright Chromium, renders paper via
      tectonic + pdftoppm. Decoupled from `make build` so contributors
      without TeX + Playwright + python3 can still build the site locally.
    - New CI job capture-template-previews using the catalog's ci-latex
      image (pinned to the SHA that baked Node + Chromium runtime libs
      via gitlab-com/public-sector/pipeline!53). Pages job picks up the
      three PNG artifacts via stage-cascade.
    - design/chrome/docs/ as single source of truth for docs-template
      tokens + chrome CSS. The reference's own site @imports from this
      directory; `make new-project TEMPLATE=docs` vendors a copy into
      the consumer's site/public/design/.
    - sync-versions.sh and validate-versions.sh now sweep every
      .reference.yaml in the tree, not just the root one. Architectural
      fix: prior behavior silently downgraded every newly-stamped project
      to the predecessor reference version.
    
    Agent surface:
    - Root-level .ai/*.md and template-level authoring guides
      (templates/docs/.ai/docs-authoring.md, templates/lab/.ai/
      lab-authoring.md) publish as /agents/<topic>/ via the llms-txt
      integration. Tools that consume llms.txt get a complete dispatch
      table out of the box. llms-full.txt expanded to ~330 KB.
    - site/src/lib/url.ts withBase() helper propagated into the docs
      template; every internal link goes through it so projects
      deploying under a path prefix resolve correctly.
    
    Site:
    - Start section restructured: /start/ is a landing page; /start/adopt/
      and /start/contribute/ are first-class pages.
    - Nine-capability home page replaces the prior five-card layout.
    - README \"Paths\" section replacing the prior \"Pick a door\"
      phrasing for a professional tone consistent with the rest of the
      voice.
    
    Standards:
    - standards/repository/SKILL.md codifies the brand-artifact
      discipline: heroes and avatars do not track versions, never depict
      a layout tree, prefer SVG over mermaid, prefer principles over
      instance-specific labels.
    
    Catalog pin:
    - Pipeline catalog bumped v3.0.0 -> v3.3.0 across includes
      (vale, pages) and template starters
      (standards/pipeline/templates/.gitlab-ci.yml,
      standards/provenance/templates/release-pipeline-include.yml).
    
    Deferred to a follow-up release:
    - pipeline/reference-check catalog component. Until it lands,
      consumers run `make check REPO=\$CI_PROJECT_DIR` in a project-side
      CI job. The .reference.yaml schema this release stabilizes is
      forward-compatible.
    - Sector-specific control subsets (NIST 800-171 for DoD, HIPAA
      Security Rule for Health, etc.). The unified matrix already lists
      every framework; the subset bundles for one-line
      applicable_frameworks: dod selection ship in a later minor.
    - Standard-status flips on the v1.0.0 schedule (security-md,
      agents-md to enforcing at +30 days). Statuses remain at their
      v1.0.0 values in this release.
  • v1.0.0

    v1.0.0 -- Initial release of the Public Sector reference.
    
    A conformance contract published as Markdown: 17 standards under
    standards/, each with prose (SKILL.md), executable assertions
    (check.sh) restricted to a closed 9-primitive set, and
    lift-and-replace templates. The Astro site serves both human pages
    and an agent surface (llms.txt + per-standard Markdown).
    
    Schema:
    - One exemptions: list in .reference.yaml keyed by until: date
      (replaces the earlier deferred: + deviations: split).
    - Standards declare project-shape preconditions via applies_when_file
      (the 9th primitive added at v1.0.0): a standard that does not
      apply to a project's shape SKIPs rather than FAILs.
    
    The reference's own pipeline dogfoods the catalog (pages@v3.0.0,
    vale@v3.0.0). Pre-push CI lint via glab; in-pipeline parallelism
    via needs: []; xlarge SaaS runners for tight wallclock.
    
    Out of scope at v1.0.0:
    - reference-check catalog component (planned for catalog v3.1.0).
    - Live release verification (signature, SBOM, SLSA freshness) --
      owned by GitLab's Compliance product downstream.