Commit Graph

771 Commits

Author SHA1 Message Date
Jakub Zych
be51bfe1e1 fix(11.2): WR-04 keep the site gate's summary grep non-fatal
Under set -e a missing TAP summary aborted run_site without a refuse
message; the explicit refuse checks now report it. The site's test
script pins the TAP reporter so the summary lines exist on Node 23+.
2026-10-01 17:06:16 +02:00
Jakub Zych
fbec0b4597 test(11.2): persist verification report and human verification items as UAT 2026-10-01 16:57:16 +02:00
Jakub Zych
749ceea5ea docs(11.2): add code review report and disposition ledger 2026-10-01 16:49:40 +02:00
Jakub Zych
5a16c3f6d5 docs(state): record plan 11.2-03 completion 2026-10-01 16:40:56 +02:00
Jakub Zych
c07db9a321 docs(11.2-03): complete the unit test coverage and phase gate plan 2026-10-01 16:40:36 +02:00
Jakub Zych
a2f2d1e5c7 docs(11.2): validate the phase verification map 2026-10-01 16:39:09 +02:00
Jakub Zych
29adc23595 test(11.2): complete the phase gate
- --built: build.sh (release when the framework checkout has v0.1.0, else
  dev), then TestLandingLinks, TestTerminalCommandsInPage and
  TestDocsHeaderSiteLink with SUMMERCMS_REQUIRE_BUILD=1, required to PASS
- --smoke and --deploy require smoke: ok and check-deploy: ok
- --terminal runs TestTerminalCommands with this checkout as the clone URL;
  --verbatim leaves the page's URL for the cutover run
- --full runs the framework's whole suite; --all runs every stage in order
2026-10-01 16:39:09 +02:00
Jakub Zych
f5f9387ac9 test(11.2): cover site_url and site_label and gate the framework, app and site stages
- TestCheckSiteURL (21 accepted and rejected values), TestSiteLabel and
  TestSiteURLPrecedence (option over site.yaml, label-without-URL and
  invalid option errors); new TestParseSite rows for blank and two-line labels
- TestSiteLink: escaped label, section page and 404 page, exact unset header
  bytes
- TestDocsSiteFlagsInHelp and the --site-label-without-URL error
- check-phase11.2.sh --framework, --app and --site
2026-10-01 16:35:09 +02:00
Jakub Zych
18fe100113 test(11.2): add the phase gate with the plugin stage
- scripts/check-phase11.2.sh --plugin: go vet, the named plugin tests through
  a go test -json detector (fail, skip, missing test, zero tests and no tests
  to run all refuse) and a 90% statement coverage floor
- unknown modes print usage and exit 2
2026-10-01 16:31:20 +02:00
Jakub Zych
2229ca3c60 docs(state): record plan 11.2-02 completion 2026-10-01 16:24:24 +02:00
Jakub Zych
29231efab2 docs(11.2-02): complete the summercms.io app, site plugin and deploy plan 2026-10-01 16:24:01 +02:00
Jakub Zych
a494375db7 feat(docsite): optional site_url and site_label link back to the main site
- site.yaml keys site_url and site_label, validated: http(s) URL with a host
  or a path starting with a single /; a label needs a URL
- docs:build and docs:serve flags --site-url and --site-label override them
  the way --base-url overrides base_url
- every page header, the 404 page included, links back with the explicit
  label, else the URL host, else Home; unset output is unchanged
- docs/console/utilities.md documents the keys and flags
2026-10-01 16:09:40 +02:00
Jakub Zych
7936234e8c docs: require PostgreSQL 15 or newer (verified on postgres:15)
The database suites (lagoon, lagoon/attach, cabana, beachcomber,
lighthouse, bouncer, conga, docs/examples/blog) pass against postgres:15
from a HEAD export with the test image retargeted.
2026-10-01 16:07:36 +02:00
Jakub Zych
130b6ac38f docs(11.2): rename the site repositories to summercmsio (D-48) 2026-10-01 15:58:30 +02:00
Jakub Zych
5d2184e9e6 docs(state): record plan 11.2-01 completion 2026-10-01 15:57:08 +02:00
Jakub Zych
8762e92a32 docs(11.2-01): complete the summercms.io Nuxt landing page plan 2026-10-01 15:56:48 +02:00
Jakub Zych
88f21af923 docs(11.2): create phase plan 2026-10-01 15:40:27 +02:00
Jakub Zych
b6013a81ed docs(11.2): map analog patterns for the landing page phase 2026-10-01 15:11:32 +02:00
Jakub Zych
5dcfc0867b docs(11.2): record site_label and pretty docs link decisions 2026-10-01 15:09:12 +02:00
Jakub Zych
e032a65fc9 docs(11.2): research the landing page phase and add validation strategy 2026-10-01 15:08:12 +02:00
Jakub Zych
e7a18ca87b docs(state): record phase 11.2 context session 2026-10-01 14:33:55 +02:00
Jakub Zych
3cbc8d32d1 docs(11.2): capture phase context for the Alpha 0.1 landing page 2026-10-01 14:33:50 +02:00
Jakub Zych
59122d53c1 docs(11.2): reshape into the Alpha 0.1 landing page and split the newsletter into 11.3 2026-10-01 14:33:50 +02:00
Jakub Zych
79116a2e03 chore: untrack and ignore the machine-local milestone lock 2026-10-01 13:15:59 +02:00
Jakub Zych
6b7c96aa45 docs: add phase 9 stale-verification debug note, phase dir placeholders and 11.1 state 2026-10-01 13:15:59 +02:00
Jakub Zych
416f0e094b chore: ignore build binary, go.work.sum and GSD local state 2026-10-01 12:52:51 +02:00
Jakub Zych
9115a43a71 docs(quick-261001-ddh): Replace lagoon hardcoded ICU pl-PL database locale with per-query COLLATE option 2026-10-01 09:55:02 +02:00
Jakub Zych
026ce74234 docs(quick-261001-ddh): record per-query collation decision superseding D-06 2026-10-01 09:53:57 +02:00
Jakub Zych
037dc53030 feat(lagoon): per-query collation for OrderBy, drop the database locale check
- lagoon.OrderBy takes variadic lagoon.OrderOption values; lagoon.Collate(name)
  emits a validated, double-quoted COLLATE clause (e.g. "pl-x-icu")
- remove the exported CheckLocale and the ICU pl-PL check from Open and Use
- framework test containers and per-test databases are plain PostgreSQL
- lagoon README, root README and docs pages drop the locale requirement;
  queries-and-pagination gains a "Sorting with a collation" section
  backed by ExampleCollate
2026-10-01 09:51:03 +02:00
Jakub Zych
565ce982d9 test(11.1): persist human verification items as UAT 2026-10-01 09:36:25 +02:00
Jakub Zych
571a2e56a0 docs(11.1): record gap-closure code review 2026-10-01 09:25:15 +02:00
Jakub Zych
16be02c6f1 docs(11.1-07): complete the fail-closed checkers plan 2026-10-01 08:59:26 +02:00
Jakub Zych
ce5dcec7e4 docs(11.1-07): record gap-closure checks in validation and the README follow-up
- validation map rows 11.1-07-T1 through T5 with the commands that passed
- the README src= todo names the refusal, caption and Sync work left
2026-10-01 08:53:11 +02:00
Jakub Zych
550fa06f91 test(11.1-07): acceptance scanner sees blockquoted and aliased fences; gate plants the holes
- scanDocFences strips blockquote markers and indentation and cross-checks captions
- the phase gate plants callout src=, golang fences, env-prefix and flag-first commands, and wrong-case identifiers
2026-10-01 08:51:58 +02:00
Jakub Zych
9ba5530ca7 test(11.1-07): planted fixtures and unit tests for fence, execution and name-form holes
- eighteen violation plants pin nested src=, Go aliases, unrun examples, build membership and command forms
- unit tests cover fence collection, captions, goLang, go doc -c, commandWord and Sync
2026-10-01 08:45:34 +02:00
Jakub Zych
efc3161c3f fix(11.1-07): require built, run src= code; case-sensitive go doc; parse command forms
- .go src= targets must be in the default build and reached from a Test or an Example with output
- go doc -c makes the identifier fallback case-sensitive
- commandWord parses env prefixes, flags, go run and bin/ forms
2026-10-01 08:37:38 +02:00
Jakub Zych
73c72af244 fix(11.1-07): check go fences, README src= and shell fences from the AST
- goLang follows the highlighter's chroma lookup, so golang and main.go need src=
- a src= fence in a module README is refused and never captioned
- shell fences inside callouts and lists are command-checked
- a fence with four or more leading spaces is an indented code block
2026-10-01 08:30:19 +02:00
Jakub Zych
5b7e37fb69 fix(11.1-07): find src= fences in the goldmark AST and refuse nested ones
- collectFences walks every fenced code block the renderer parses
- a nested src= fence is refused and is not extracted, synced or captioned
- checkSnippets runs on the same parse as the other checkers
- Sync rewrites drifted top-level fences and keeps the frontmatter

Deviation: TestSyncRewritesDrift's drifted src= fence sat inside a list item, which is now refused. The drift case is a two-space top-level fence so Sync still rewrites it (problem line 11).
2026-10-01 08:27:42 +02:00
Jakub Zych
d9f187ae39 docs(11.1): create phase plan 2026-10-01 01:52:52 +02:00
Jakub Zych
209e44cfd7 docs(11.1): add a resume point after Task 3 to plan 11.1-07
Tasks 1 to 3 record their commits, Deviation: body lines and a
state.record-session line naming PLAN_BASE, so Tasks 4 and 5 can resume
in a fresh context. Their read_first lists now name only the symbols and
helpers they use. The plan stays single and autonomous.
2026-10-01 01:51:47 +02:00
Jakub Zych
f78a677eb2 docs(11.1): add gap closure plan 11.1-07 for fail-open docs checkers 2026-10-01 01:46:28 +02:00
Jakub Zych
ad982774ca docs(phase-11.1): revert premature Complete requirements after gaps found 2026-10-01 01:09:15 +02:00
Jakub Zych
d4a9336110 docs(11.1): add phase verification report (gaps found) 2026-10-01 01:09:14 +02:00
Jakub Zych
8c4d02de0a docs(11.1): record code review disposition 2026-10-01 00:34:40 +02:00
Jakub Zych
1b1132fa62 docs(11.1): add code review report 2026-10-01 00:34:31 +02:00
Jakub Zych
7ede3e03b3 docs(11.1-06): record the gate cleanup fix in the plan summary 2026-10-01 00:23:43 +02:00
Jakub Zych
85ce154640 fix(11.1-06): remove the docs gate's scratch directories on a refusal
- a refusal exits from inside a stage, where the RETURN trap never ran,
  leaving the self-test's 48 MB scratch copy in /tmp; an EXIT trap now
  removes every stage's scratch paths
- the self-test copies examples/ with tar, excluding examples/*/bin,
  instead of git ls-files, so a PHASE11_1_ROOT copy without .git works
2026-10-01 00:21:34 +02:00
Jakub Zych
f2413f6c87 docs(11.1-06): complete the unit tests and final gate plan 2026-10-01 00:18:11 +02:00
Jakub Zych
9419d5d5e7 docs(11.1-06): validate the phase 11.1 verification map
- every per-task row of plans 01 to 06 ran green on 2026-10-01
- status validated, nyquist_compliant and wave_0_complete true
- search and dark mode stay as manual UAT rows for /gsd-verify-work
2026-10-01 00:15:35 +02:00
Jakub Zych
c1c9a9f853 test(11.1-06): acceptance subtests per success criterion and the final docs gate
- TestPhase11_1Acceptance asserts SC1 to SC5 on the real tree: sections
  and module pages, theme markers and no Node exec, AI outputs in sync,
  every go fence a src= copy run by go test, concept map and walkthrough
- check-phase11.1.sh --named runs every named test of the phase by exact
  name (modules' TestDocs* and output Examples derived from source) and
  refuses failures, skips, missing or renamed tests and no tests to run
- --all runs preconditions, deps, self-test, docs, forbidden, claude,
  named and the full go vet and go test
2026-10-01 00:10:12 +02:00