Skip to content

feat: task 139/141/142/143 - style gates, AOT validation, flexbox skill, release pipeline; 1.0.0-beta.4#10

Merged
StevenTCramer merged 11 commits into
masterfrom
dev
Jul 4, 2026
Merged

feat: task 139/141/142/143 - style gates, AOT validation, flexbox skill, release pipeline; 1.0.0-beta.4#10
StevenTCramer merged 11 commits into
masterfrom
dev

Conversation

@StevenTCramer

Copy link
Copy Markdown
Contributor

Summary

  • Task 139 — style enforcement restored: TreatWarningsAsErrors + EnforceCodeStyleInBuild back on; all ~120 violations fixed (fields to house PascalCase standard using auto-properties / the C# field keyword / descriptive handle names; mechanical rules). GenerateDocumentationFile on — the package now ships XML docs. Scripts (runfiles/hooks/sample) keep warnings visible but non-blocking.
  • Task 141 — Native AOT validated: IsAotCompatible with zero trim/AOT diagnostics; native PublishAot smoke test (grow/positions/RTL/absolute/wrap assertions) runs in CI; nuspec verified dependency-free.
  • Task 142 — flexbox skill: skills/flexbox/SKILL.md in the sibling convention; every example compiled and run, outputs are actual engine output.
  • Task 143 — release pipeline at terminal parity: dev-cli workflow command with release path (check-version → pack → push to nuget.org → best-effort timewarp-software rebuild dispatch); workflow.yml with OIDC Trusted Publishing and Rebuild Dispatcher app-token mint. Dispatch tested live (site started a rebuild); workflow_dispatch CI run green.
  • 1.0.0-beta.4 prepared: repo is now public and Trusted Publishing is registered, so installation docs drop the GitHub Packages PAT dance for plain dotnet add package.

Verification

  • Full gates on: plain Release build zero warnings; 1335/0/3 tests; dotnet format stable; ganda audit 22/22.
  • Pipeline verified locally (PR path + release dry-run) and in Actions (workflow_dispatch: success).
  • repository_dispatch to timewarp-software fired for real and triggered a rebuild run.

Publishing the v1.0.0-beta.4 release after merge exercises the full chain: OIDC → nuget.org → site rebuild → package page + flexbox skill on timewarp.software.

🤖 Generated with Claude Code

StevenTCramer and others added 11 commits July 3, 2026 20:59
Follows the sibling-repo convention (timewarp-terminal, timewarp-nuru,
timewarp-amuru): skills/<name>/SKILL.md with frontmatter, when-to-use
table, CSS-to-C# mapping, gotchas, and verified recipes.

Co-Authored-By: Claude Fable 5 <[email protected]>
…42 to site publication

Task 143 documents the working timewarp-terminal pattern (dev-cli-driven
workflow, NuGet Trusted Publishing OIDC, org Rebuild Dispatcher GitHub App
minting a cross-repo token, best-effort repository_dispatch to
timewarp-software) and the prerequisites specific to this repo: it is
currently private and publishes to GitHub Packages only, while the site's
catalog is driven by a nuget.org owner search and public-repo skill fetches.

Co-Authored-By: Claude Fable 5 <[email protected]>
Re-enable TreatWarningsAsErrors, CodeAnalysisTreatWarningsAsErrors, and
EnforceCodeStyleInBuild. The tree now builds clean under the full gates:
zero warnings, suite unchanged (1335/0/3), dotnet format stable, ganda
audit 22/22.

Naming: all private fields conform to the house standard (PascalCase,
no underscore prefixes, matching sibling repos). Trivial backing-field/
property pairs became auto-properties; properties with logic use the
C# `field` keyword; backings whose type differs from their property
were renamed descriptively (FlexHandle, MarginHandles,
ChildrenInternal, ...). No public API or behavior changes; verified by
the full conformance suite.

Also: GenerateDocumentationFile enabled (package now ships XML docs;
CS1591 in global NoWarn per the terminal pattern), RS0030 suppressed
only around YogaLog.DefaultLog (Console is the default logger sink;
the library stays zero-dependency), test project suppressions extended
for snake_case Yoga test names / delegate-signature params /
package-injected Fixie.Main.cs, benchmarks entry point converted to
Program.Main, demo grid converted to a jagged array, and file-based
scripts (runfiles, hooks, sample) marked TreatWarningsAsErrors=false
so script warnings stay visible but non-blocking.

Co-Authored-By: Claude Fable 5 <[email protected]>
Mark the library IsAotCompatible (trim/AOT/single-file analyzers: zero
diagnostics under warnings-as-errors) and add tests/timewarp-flexbox-
aot-smoke, a zero-dependency PublishAot console app asserting exact
layout values for grow, row positioning, RTL, absolute insets, and
wrap+gap. Verified as a native linux-x64 ELF binary (2.0 MB): all
checks pass. CI now publishes and runs the native binary on every
workflow run so AOT compatibility cannot silently regress. nuspec
verified dependency-free; readme documents the guarantee; package tags
gain aot;trimming.

Co-Authored-By: Claude Fable 5 <[email protected]>
skills/flexbox/SKILL.md follows the sibling-repo convention
(timewarp-terminal, timewarp-nuru, timewarp-amuru): trigger-tuned
frontmatter, when-to-use table, five-step core model, full CSS-to-C#
mapping, Yoga-vs-web defaults, six recipes, and pitfalls. Every code
example was compiled and run against the library; the output comments
are actual engine output. Publication to timewarp.software follows
automatically once task 143 (site regen trigger + repo qualification)
lands.

Co-Authored-By: Claude Fable 5 <[email protected]>
…uild dispatch (task 143)

Extend the dev-cli workflow command with the release path (check-version
-> pack -> push to nuget.org -> best-effort repository_dispatch to
timewarp-software) and rewrite workflow.yml to the timewarp-terminal
shape: dev-cli-driven ci job, NuGet Trusted Publishing OIDC on release,
conditional Rebuild Dispatcher GitHub App token mint, AOT smoke step
retained. Adds .timewarp/dev.jsonc so the packaged check-version knows
the package id. The dispatch was tested for real with local gh auth -
timewarp-software started a rebuild run from our payload.

Publishing prerequisites remain owner actions (tracked in task 143):
make the repo public and register TimeWarp.Flexbox for nuget.org
Trusted Publishing under TimeWarp.Enterprises.

Co-Authored-By: Claude Fable 5 <[email protected]>
The repo is now public and TimeWarp.Flexbox is registered for nuget.org
Trusted Publishing, so the readme and skill installation sections drop
the GitHub Packages PAT instructions in favor of plain
`dotnet add package`. beta.4 will be the first release through the new
terminal-parity pipeline (OIDC push to nuget.org + timewarp-software
rebuild dispatch).

Co-Authored-By: Claude Fable 5 <[email protected]>
@StevenTCramer StevenTCramer merged commit f9d80d0 into master Jul 4, 2026
1 check passed
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