The starter's real self-contained dotnet publish output exits with 0xC000027B because MainWindow.xaml cannot load. Debug UI tests pass. Reproduced on the current starter worktree using the shared release builder's publish settings: the app's generated PRI and XBF files exist in bin but are omitted from the publish directory. WindowsAppSDK's unpackaged MRT path has the corresponding upstream bug: https://github.com/microsoft/WindowsAppSDK/issues/6720.
This is a separate omission from the stale incremental PRI scenario tracked in KofTwentyTwo/standards#22. No gclo checkout or release has been modified.
Acceptance criteria
Publish the app's generated PRI and XBF files, preserving relative paths, before packing/signing.
Fail publishing when the required app PRI is absent.
Launch the actual self-contained published output and run its applicable UI suite; repeat against upgraded installed copies.
Verify both renamed CLI/no-CLI generated templates retain the fix.
Keep repeatable CI evidence; do not claim readiness from Debug-build UI tests alone.
Current work
Fix and installed smoke harness are being verified in the isolated starter worktree, branch fix/template-onboarding. Local work is not hosted deployment completion. No test release is published. Substantial AI assistance: Codex.
## Problem
The starter's real self-contained `dotnet publish` output exits with `0xC000027B` because `MainWindow.xaml` cannot load. Debug UI tests pass. Reproduced on the current starter worktree using the shared release builder's publish settings: the app's generated PRI and XBF files exist in `bin` but are omitted from the publish directory. WindowsAppSDK's unpackaged MRT path has the corresponding upstream bug: https://github.com/microsoft/WindowsAppSDK/issues/6720.
This is a separate omission from the stale incremental PRI scenario tracked in KofTwentyTwo/standards#22. No gclo checkout or release has been modified.
## Acceptance criteria
- Publish the app's generated PRI and XBF files, preserving relative paths, before packing/signing.
- Fail publishing when the required app PRI is absent.
- Launch the actual self-contained published output and run its applicable UI suite; repeat against upgraded installed copies.
- Verify both renamed CLI/no-CLI generated templates retain the fix.
- Keep repeatable CI evidence; do not claim readiness from Debug-build UI tests alone.
## Current work
Fix and installed smoke harness are being verified in the isolated starter worktree, branch `fix/template-onboarding`. Local work is not hosted deployment completion. No test release is published. Substantial AI assistance: Codex.
Implemented in locally signed starter commit 90af2f75dfa8c713e9f604c1f1b844492139e73c (not pushed): an unpackaged publish target explicitly retains the generated app PRI and XBF resources, and fails when the app PRI is missing. The direct Velopack entry-point call passes the packer's normal startup verification.
Actual published loose output passed 7 UI tests; the same app after real stable/dev upgrades passed 6 applicable UI tests per channel. This reproduces and fixes the prior MainWindow.xaml resource load failure. Actual packed CLI and GUI-only template variants build and format successfully. The committed CI job exercises the published output and installed upgrades.
Hosted validation and deployment remain pending; a fresh GUI-only smoke run is currently stopped by the separate dependency-byte problem in #22. Keep the issue open until the generated/public acceptance criteria are satisfied.
Implemented in locally signed starter commit `90af2f75dfa8c713e9f604c1f1b844492139e73c` (not pushed): an unpackaged publish target explicitly retains the generated app PRI and XBF resources, and fails when the app PRI is missing. The direct Velopack entry-point call passes the packer's normal startup verification.
Actual published loose output passed 7 UI tests; the same app after real stable/dev upgrades passed 6 applicable UI tests per channel. This reproduces and fixes the prior MainWindow.xaml resource load failure. Actual packed CLI and GUI-only template variants build and format successfully. The committed CI job exercises the published output and installed upgrades.
Hosted validation and deployment remain pending; a fresh GUI-only smoke run is currently stopped by the separate dependency-byte problem in #22. Keep the issue open until the generated/public acceptance criteria are satisfied.
Committed locally: starter 2c8816b187b3a9a540f28daea20e0b1b061e8c5b on fix/template-onboarding. Six starter commits now; 21 signed/DCO commits total across AppKit, starter and shared builder. No pushes or new releases.
Verified GUI-only evidence: four actual self-contained publishes, 532 preserved files in each portable/full package, loose/portable checks, real stable 0.1.0 -> 0.4.0 and dev 0.3.0-beta.1 -> 0.3.0-beta.2 installs/upgrades, same-channel feeds, restart, target assembly SHA256 and 19 UI tests. Evidence remains in artifacts/starter-finish/artifacts/temp-stage-no-cli/artifacts/installed-temp-stage/.
CLI evidence: four single-file versions execute and all package byte checks pass; seven published UI checks and stable upgrade/restart pass. Two installed suites exposed different input timeouts, tracked in #23. Focused greeting tests (five) and the complete six-case sequence against the exact failed published 0.4.0 binary pass, without establishing the original cause. The candidate now focuses physical input and waits before clicking; its published seven UI cases pass. Its latest full attempt stopped on disk exhaustion while extracting portable assets, before any installation. Retained the failed runs; no test was skipped or timeout increased.
The smoke harness now parses source PE headers, copies only four probe files, isolates system-temp build/packer staging and refuses to start below 8 GB free on the artifact volume. Moved completed diagnostic fixtures to the approved cache without deleting them; workspace now has about 9.4 GB free. The candidate's complete CLI installed acceptance still needs a fresh run.
Current source validation: 31 Pester tests, changed-file PowerShell analysis, zero-warning UI-test build, scoped C# format, Markdown lint and commit hooks/signature verification pass. Source and prepared shared-builder worktrees are clean. AppKit head is 146138957506b79459a6d811a1e70a626e006699; shared head is 4dfde0976a59f3a2b07b974444e837574310c083.
Live AppKit UI updater/public hosting, signing, hosted CI and source/template rollout remain acceptance requirements. Keep this issue open. Substantial AI assistance: Codex (GPT-6).
Committed locally: starter `2c8816b187b3a9a540f28daea20e0b1b061e8c5b` on `fix/template-onboarding`. Six starter commits now; 21 signed/DCO commits total across AppKit, starter and shared builder. No pushes or new releases.
Verified GUI-only evidence: four actual self-contained publishes, 532 preserved files in each portable/full package, loose/portable checks, real stable `0.1.0 -> 0.4.0` and dev `0.3.0-beta.1 -> 0.3.0-beta.2` installs/upgrades, same-channel feeds, restart, target assembly SHA256 and 19 UI tests. Evidence remains in `artifacts/starter-finish/artifacts/temp-stage-no-cli/artifacts/installed-temp-stage/`.
CLI evidence: four single-file versions execute and all package byte checks pass; seven published UI checks and stable upgrade/restart pass. Two installed suites exposed different input timeouts, tracked in #23. Focused greeting tests (five) and the complete six-case sequence against the exact failed published 0.4.0 binary pass, without establishing the original cause. The candidate now focuses physical input and waits before clicking; its published seven UI cases pass. Its latest full attempt stopped on disk exhaustion while extracting portable assets, before any installation. Retained the failed runs; no test was skipped or timeout increased.
The smoke harness now parses source PE headers, copies only four probe files, isolates system-temp build/packer staging and refuses to start below 8 GB free on the artifact volume. Moved completed diagnostic fixtures to the approved cache without deleting them; workspace now has about 9.4 GB free. The candidate's complete CLI installed acceptance still needs a fresh run.
Current source validation: 31 Pester tests, changed-file PowerShell analysis, zero-warning UI-test build, scoped C# format, Markdown lint and commit hooks/signature verification pass. Source and prepared shared-builder worktrees are clean. AppKit head is `146138957506b79459a6d811a1e70a626e006699`; shared head is `4dfde0976a59f3a2b07b974444e837574310c083`.
Live AppKit UI updater/public hosting, signing, hosted CI and source/template rollout remain acceptance requirements. Keep this issue open. Substantial AI assistance: Codex (GPT-6).
Fresh actual packed-template acceptance from signed starter commit 7eef2a489cb8a1924cb46f4c08e2593a532d930d completed successfully. Published UI passed 7/7, installed stable 6/6, installed dev 6/6: 19 checks, zero failures/skips. All four 532-file portable/full payload comparisons passed before runtime acceptance. Stable 0.1.0 -> 0.4.0 and dev 0.3.0-beta.1 -> beta.2 downloaded, applied, restarted and passed installed version/target hash/channel isolation checks. Guarded uninstalls completed.
Evidence: artifacts/starter-finish/artifacts/foreground-with-cli/artifacts/installed-foreground/: results.json, published-ui.trx, installed-stable-ui.trx, installed-dev-ui.trx, stable-after.json, dev-after.json, and build-directory.txt. This is generated from the committed package, not manually synchronized diagnostic files. Earlier failing runs remain retained.
The harness uses real Velopack installed upgrades with an offline GitHub transport. It does not prove live public feeds, the AppKit UI check/apply flow, production signatures, deltas or hosted CI. Current-head GUI-only acceptance is next; no test process remains live. Keep the applicable remaining criteria open. No push, PR, merge, new release, settings change or Azure login retry occurred. Twenty-eight signed local commits remain prepared across AppKit, starter and shared signing.
Fresh actual packed-template acceptance from signed starter commit `7eef2a489cb8a1924cb46f4c08e2593a532d930d` completed successfully. Published UI passed 7/7, installed stable 6/6, installed dev 6/6: 19 checks, zero failures/skips. All four 532-file portable/full payload comparisons passed before runtime acceptance. Stable `0.1.0 -> 0.4.0` and dev `0.3.0-beta.1 -> beta.2` downloaded, applied, restarted and passed installed version/target hash/channel isolation checks. Guarded uninstalls completed.
Evidence: `artifacts/starter-finish/artifacts/foreground-with-cli/artifacts/installed-foreground/`: `results.json`, `published-ui.trx`, `installed-stable-ui.trx`, `installed-dev-ui.trx`, `stable-after.json`, `dev-after.json`, and `build-directory.txt`. This is generated from the committed package, not manually synchronized diagnostic files. Earlier failing runs remain retained.
The harness uses real Velopack installed upgrades with an offline GitHub transport. It does not prove live public feeds, the AppKit UI check/apply flow, production signatures, deltas or hosted CI. Current-head GUI-only acceptance is next; no test process remains live. Keep the applicable remaining criteria open. No push, PR, merge, new release, settings change or Azure login retry occurred. Twenty-eight signed local commits remain prepared across AppKit, starter and shared signing.
Both actual packed-template variants from signed starter head 7eef2a489cb8a1924cb46f4c08e2593a532d930d now complete the installed smoke: CLI 19/19 UI checks and GUI-only 19/19, all four 532-file portable/full comparisons per variant, stable 0.1.0 -> 0.4.0 and dev 0.3.0-beta.1 -> beta.2 real downloads/apply/restarts, exact installed version/target hashes and no cross-channel requests/offers. Guarded cleanup completed.
Current GUI-only evidence: C:/Users/james/.cache/AppKit-acceptance/2026-10-10/foreground-no-cli/artifacts/installed-reserved-desktop/{results.json,published-ui.trx,installed-stable-ui.trx,installed-dev-ui.trx,stable-after.json,dev-after.json,build-directory.txt}. Current CLI evidence remains in artifacts/starter-finish/artifacts/foreground-with-cli/artifacts/installed-foreground/.
The first current GUI attempt is retained in sibling installed-foreground/: published UI 6/7, crash-log timeout, app alive. Its trace owned the target before clicking but afterward reported a distant pointer position over a gclo process. The owner then reserved the desktop; the unchanged fixture passed the complete run. This supports desktop input interference for that observed failure, without proving every earlier timeout had the same cause. Completed older guarded-with-cli evidence moved intact to C:/Users/james/.cache/AppKit-retained-fixtures/2026-10-10/guarded-with-cli with all seven TRX reports; no evidence deleted.
Foundation AppKit bbf7efd freshly passes locked restore, zero-warning full build, format verification, 161 unit tests/100% core-update coverage, 14 WinUI/WPF UI tests, seven review-validator tests and ESLint. Current exact-commit review and rollout packets are prepared. Two additional signed shared-rollout commits (helper 3334d02, builder 5887a83) start from published standards v1.0.0; 35 tests and workflow/docs/hooks pass. Thirty signed local preparation commits total; original checkouts are preserved.
Remaining criteria stay open: actual hosted gates/review bootstrap, public starter/package/feed rollout, AppKit's live check/apply integration, final Azure identity/role/resource/signature proof, owner badge attestations and age reassessment. Offline GitHub transport is not hosted or signing evidence. No push, PR, merge, new release, live settings change or Azure retry occurred.
Both actual packed-template variants from signed starter head `7eef2a489cb8a1924cb46f4c08e2593a532d930d` now complete the installed smoke: CLI 19/19 UI checks and GUI-only 19/19, all four 532-file portable/full comparisons per variant, stable `0.1.0 -> 0.4.0` and dev `0.3.0-beta.1 -> beta.2` real downloads/apply/restarts, exact installed version/target hashes and no cross-channel requests/offers. Guarded cleanup completed.
Current GUI-only evidence: `C:/Users/james/.cache/AppKit-acceptance/2026-10-10/foreground-no-cli/artifacts/installed-reserved-desktop/{results.json,published-ui.trx,installed-stable-ui.trx,installed-dev-ui.trx,stable-after.json,dev-after.json,build-directory.txt}`. Current CLI evidence remains in `artifacts/starter-finish/artifacts/foreground-with-cli/artifacts/installed-foreground/`.
The first current GUI attempt is retained in sibling `installed-foreground/`: published UI 6/7, crash-log timeout, app alive. Its trace owned the target before clicking but afterward reported a distant pointer position over a gclo process. The owner then reserved the desktop; the unchanged fixture passed the complete run. This supports desktop input interference for that observed failure, without proving every earlier timeout had the same cause. Completed older guarded-with-cli evidence moved intact to `C:/Users/james/.cache/AppKit-retained-fixtures/2026-10-10/guarded-with-cli` with all seven TRX reports; no evidence deleted.
Foundation AppKit `bbf7efd` freshly passes locked restore, zero-warning full build, format verification, 161 unit tests/100% core-update coverage, 14 WinUI/WPF UI tests, seven review-validator tests and ESLint. Current exact-commit review and rollout packets are prepared. Two additional signed shared-rollout commits (helper `3334d02`, builder `5887a83`) start from published standards v1.0.0; 35 tests and workflow/docs/hooks pass. Thirty signed local preparation commits total; original checkouts are preserved.
Remaining criteria stay open: actual hosted gates/review bootstrap, public starter/package/feed rollout, AppKit's live check/apply integration, final Azure identity/role/resource/signature proof, owner badge attestations and age reassessment. Offline GitHub transport is not hosted or signing evidence. No push, PR, merge, new release, live settings change or Azure retry occurred.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
The starter's real self-contained
dotnet publishoutput exits with0xC000027BbecauseMainWindow.xamlcannot load. Debug UI tests pass. Reproduced on the current starter worktree using the shared release builder's publish settings: the app's generated PRI and XBF files exist inbinbut are omitted from the publish directory. WindowsAppSDK's unpackaged MRT path has the corresponding upstream bug: https://github.com/microsoft/WindowsAppSDK/issues/6720.This is a separate omission from the stale incremental PRI scenario tracked in KofTwentyTwo/standards#22. No gclo checkout or release has been modified.
Acceptance criteria
Current work
Fix and installed smoke harness are being verified in the isolated starter worktree, branch
fix/template-onboarding. Local work is not hosted deployment completion. No test release is published. Substantial AI assistance: Codex.Implemented in locally signed starter commit
90af2f75dfa8c713e9f604c1f1b844492139e73c(not pushed): an unpackaged publish target explicitly retains the generated app PRI and XBF resources, and fails when the app PRI is missing. The direct Velopack entry-point call passes the packer's normal startup verification.Actual published loose output passed 7 UI tests; the same app after real stable/dev upgrades passed 6 applicable UI tests per channel. This reproduces and fixes the prior MainWindow.xaml resource load failure. Actual packed CLI and GUI-only template variants build and format successfully. The committed CI job exercises the published output and installed upgrades.
Hosted validation and deployment remain pending; a fresh GUI-only smoke run is currently stopped by the separate dependency-byte problem in #22. Keep the issue open until the generated/public acceptance criteria are satisfied.
Committed locally: starter
2c8816b187b3a9a540f28daea20e0b1b061e8c5bonfix/template-onboarding. Six starter commits now; 21 signed/DCO commits total across AppKit, starter and shared builder. No pushes or new releases.Verified GUI-only evidence: four actual self-contained publishes, 532 preserved files in each portable/full package, loose/portable checks, real stable
0.1.0 -> 0.4.0and dev0.3.0-beta.1 -> 0.3.0-beta.2installs/upgrades, same-channel feeds, restart, target assembly SHA256 and 19 UI tests. Evidence remains inartifacts/starter-finish/artifacts/temp-stage-no-cli/artifacts/installed-temp-stage/.CLI evidence: four single-file versions execute and all package byte checks pass; seven published UI checks and stable upgrade/restart pass. Two installed suites exposed different input timeouts, tracked in #23. Focused greeting tests (five) and the complete six-case sequence against the exact failed published 0.4.0 binary pass, without establishing the original cause. The candidate now focuses physical input and waits before clicking; its published seven UI cases pass. Its latest full attempt stopped on disk exhaustion while extracting portable assets, before any installation. Retained the failed runs; no test was skipped or timeout increased.
The smoke harness now parses source PE headers, copies only four probe files, isolates system-temp build/packer staging and refuses to start below 8 GB free on the artifact volume. Moved completed diagnostic fixtures to the approved cache without deleting them; workspace now has about 9.4 GB free. The candidate's complete CLI installed acceptance still needs a fresh run.
Current source validation: 31 Pester tests, changed-file PowerShell analysis, zero-warning UI-test build, scoped C# format, Markdown lint and commit hooks/signature verification pass. Source and prepared shared-builder worktrees are clean. AppKit head is
146138957506b79459a6d811a1e70a626e006699; shared head is4dfde0976a59f3a2b07b974444e837574310c083.Live AppKit UI updater/public hosting, signing, hosted CI and source/template rollout remain acceptance requirements. Keep this issue open. Substantial AI assistance: Codex (GPT-6).
Fresh actual packed-template acceptance from signed starter commit
7eef2a489cb8a1924cb46f4c08e2593a532d930dcompleted successfully. Published UI passed 7/7, installed stable 6/6, installed dev 6/6: 19 checks, zero failures/skips. All four 532-file portable/full payload comparisons passed before runtime acceptance. Stable0.1.0 -> 0.4.0and dev0.3.0-beta.1 -> beta.2downloaded, applied, restarted and passed installed version/target hash/channel isolation checks. Guarded uninstalls completed.Evidence:
artifacts/starter-finish/artifacts/foreground-with-cli/artifacts/installed-foreground/:results.json,published-ui.trx,installed-stable-ui.trx,installed-dev-ui.trx,stable-after.json,dev-after.json, andbuild-directory.txt. This is generated from the committed package, not manually synchronized diagnostic files. Earlier failing runs remain retained.The harness uses real Velopack installed upgrades with an offline GitHub transport. It does not prove live public feeds, the AppKit UI check/apply flow, production signatures, deltas or hosted CI. Current-head GUI-only acceptance is next; no test process remains live. Keep the applicable remaining criteria open. No push, PR, merge, new release, settings change or Azure login retry occurred. Twenty-eight signed local commits remain prepared across AppKit, starter and shared signing.
Both actual packed-template variants from signed starter head
7eef2a489cb8a1924cb46f4c08e2593a532d930dnow complete the installed smoke: CLI 19/19 UI checks and GUI-only 19/19, all four 532-file portable/full comparisons per variant, stable0.1.0 -> 0.4.0and dev0.3.0-beta.1 -> beta.2real downloads/apply/restarts, exact installed version/target hashes and no cross-channel requests/offers. Guarded cleanup completed.Current GUI-only evidence:
C:/Users/james/.cache/AppKit-acceptance/2026-10-10/foreground-no-cli/artifacts/installed-reserved-desktop/{results.json,published-ui.trx,installed-stable-ui.trx,installed-dev-ui.trx,stable-after.json,dev-after.json,build-directory.txt}. Current CLI evidence remains inartifacts/starter-finish/artifacts/foreground-with-cli/artifacts/installed-foreground/.The first current GUI attempt is retained in sibling
installed-foreground/: published UI 6/7, crash-log timeout, app alive. Its trace owned the target before clicking but afterward reported a distant pointer position over a gclo process. The owner then reserved the desktop; the unchanged fixture passed the complete run. This supports desktop input interference for that observed failure, without proving every earlier timeout had the same cause. Completed older guarded-with-cli evidence moved intact toC:/Users/james/.cache/AppKit-retained-fixtures/2026-10-10/guarded-with-cliwith all seven TRX reports; no evidence deleted.Foundation AppKit
bbf7efdfreshly passes locked restore, zero-warning full build, format verification, 161 unit tests/100% core-update coverage, 14 WinUI/WPF UI tests, seven review-validator tests and ESLint. Current exact-commit review and rollout packets are prepared. Two additional signed shared-rollout commits (helper3334d02, builder5887a83) start from published standards v1.0.0; 35 tests and workflow/docs/hooks pass. Thirty signed local preparation commits total; original checkouts are preserved.Remaining criteria stay open: actual hosted gates/review bootstrap, public starter/package/feed rollout, AppKit's live check/apply integration, final Azure identity/role/resource/signature proof, owner badge attestations and age reassessment. Offline GitHub transport is not hosted or signing evidence. No push, PR, merge, new release, live settings change or Azure retry occurred.