WIP: feat: complete AppKit foundation and release readiness #25

Draft
KofTwentyTwo wants to merge 12 commits from docs/appkit-release-0.1.0-handoff into main
pull from: docs/appkit-release-0.1.0-handoff
KofTwentyTwo commented 2026-10-10 22:52:16 +00:00 (Migrated from github.com)

AppKit's readiness audit found unbounded log reads, lost structured fields and
incomplete release/review gates. This change bounds log input, preserves logging
templates/properties/scopes, aligns both viewers and crash nets, and prepares
verified Windows signing without an unsigned fallback. Existing log sinks and
two-argument log-tail calls remain compatible. Development advances to 0.2.0-dev;
published 0.1.0 packages remain immutable.

Validation: locked x64 restore; zero-warning solution build; format verification;
161 unit tests with 100% core/update line coverage; 14 WinUI/WPF UI tests; 40 script
tests; seven review-validator tests and ESLint. Mutation audits reach 96.27% core
and 89.61% updates, with every survivor dispositioned. Signed/DCO commits and
applicable hooks pass. Substantial implementation/review assistance: Codex (GPT-6).
Logging abstractions 10.0.12 are an MIT runtime dependency; FsCheck and Stryker are
development-only. User guidance, release notes and threat model are updated.

Refs #26, #4, #5, #6, #7, #8, #12, #13, #14, #15, #18, #20, #24. Current review is in
APPKIT-REVIEW-09f9e07.md; maintainer acknowledgement remains pending. This PR does
not complete hosted enforcement, the public starter rollout or actual Azure
signing verification. Release preflight stays blocked until the reviewed shared
builder and verified signing variables are enabled. No new release is requested.

Hosted follow-up: the first run passed build-test, UI, JavaScript and security
checks, but exposed an internal recursive PowerShell analyzer crash and an
unallowlisted development-only uri-js license (#26). Current head 09f9e07 checks
all PowerShell files individually with unchanged rules and fails on every finding
or analyzer error. All nine files pass locally. License-policy acceptance remains
unresolved; no vulnerability/license checks have been disabled or bypassed.

Current-head hosted validation: build-test, format, WinUI/WPF UI tests,
PowerShell (40 Pester cases), JavaScript, review-validator tests, title/DCO,
security and all three CodeQL language checks pass (run 38093181044 completed
successfully). Dependency review alone has a known failure (#26), pending
normal policy review of the exact tooling-only license proposal. Both this PR
and shared signing PR #31 remain drafts; shared run 38093017631 is successful.

License-policy proposal is draft standards #32 at cd20e94, with successful hosted
run 38093461441. It remains Proposed; no caller exemption is enabled.

AppKit's readiness audit found unbounded log reads, lost structured fields and incomplete release/review gates. This change bounds log input, preserves logging templates/properties/scopes, aligns both viewers and crash nets, and prepares verified Windows signing without an unsigned fallback. Existing log sinks and two-argument log-tail calls remain compatible. Development advances to 0.2.0-dev; published 0.1.0 packages remain immutable. Validation: locked x64 restore; zero-warning solution build; format verification; 161 unit tests with 100% core/update line coverage; 14 WinUI/WPF UI tests; 40 script tests; seven review-validator tests and ESLint. Mutation audits reach 96.27% core and 89.61% updates, with every survivor dispositioned. Signed/DCO commits and applicable hooks pass. Substantial implementation/review assistance: Codex (GPT-6). Logging abstractions 10.0.12 are an MIT runtime dependency; FsCheck and Stryker are development-only. User guidance, release notes and threat model are updated. Refs #26, #4, #5, #6, #7, #8, #12, #13, #14, #15, #18, #20, #24. Current review is in APPKIT-REVIEW-09f9e07.md; maintainer acknowledgement remains pending. This PR does not complete hosted enforcement, the public starter rollout or actual Azure signing verification. Release preflight stays blocked until the reviewed shared builder and verified signing variables are enabled. No new release is requested. Hosted follow-up: the first run passed build-test, UI, JavaScript and security checks, but exposed an internal recursive PowerShell analyzer crash and an unallowlisted development-only uri-js license (#26). Current head 09f9e07 checks all PowerShell files individually with unchanged rules and fails on every finding or analyzer error. All nine files pass locally. License-policy acceptance remains unresolved; no vulnerability/license checks have been disabled or bypassed. Current-head hosted validation: build-test, format, WinUI/WPF UI tests, PowerShell (40 Pester cases), JavaScript, review-validator tests, title/DCO, security and all three CodeQL language checks pass (run 38093181044 completed successfully). Dependency review alone has a known failure (#26), pending normal policy review of the exact tooling-only license proposal. Both this PR and shared signing PR #31 remain drafts; shared run 38093017631 is successful. License-policy proposal is draft standards #32 at cd20e94, with successful hosted run 38093461441. It remains Proposed; no caller exemption is enabled.
github-advanced-security[bot] (Migrated from github.com) reviewed 2026-10-10 22:52:37 +00:00
@@ -31,0 +73,4 @@
gates:
needs: verify
uses: ./.github/workflows/ci.yml
github-advanced-security[bot] (Migrated from github.com) commented 2026-10-10 22:52:37 +00:00

zizmor /

use GitHub's dedicated self-repository syntax: use '$/...' instead of './...'

Show more details

## zizmor / use GitHub's dedicated self-repository syntax: use '$/...' instead of './...' [Show more details](https://github.com/KofTwentyTwo/AppKit/security/code-scanning/6)
@@ -31,0 +79,4 @@
security:
needs: verify
uses: ./.github/workflows/security.yml
github-advanced-security[bot] (Migrated from github.com) commented 2026-10-10 22:52:37 +00:00

zizmor /

use GitHub's dedicated self-repository syntax: use '$/...' instead of './...'

Show more details

## zizmor / use GitHub's dedicated self-repository syntax: use '$/...' instead of './...' [Show more details](https://github.com/KofTwentyTwo/AppKit/security/code-scanning/7)
@@ -31,0 +86,4 @@
codeql:
needs: verify
uses: ./.github/workflows/codeql.yml
github-advanced-security[bot] (Migrated from github.com) commented 2026-10-10 22:52:37 +00:00

zizmor /

use GitHub's dedicated self-repository syntax: use '$/...' instead of './...'

Show more details

## zizmor / use GitHub's dedicated self-repository syntax: use '$/...' instead of './...' [Show more details](https://github.com/KofTwentyTwo/AppKit/security/code-scanning/8)
@@ -31,0 +108,4 @@
scripts:
needs: verify
uses: ./.github/workflows/scripts.yml
github-advanced-security[bot] (Migrated from github.com) commented 2026-10-10 22:52:37 +00:00

zizmor /

use GitHub's dedicated self-repository syntax: use '$/...' instead of './...'

Show more details

## zizmor / use GitHub's dedicated self-repository syntax: use '$/...' instead of './...' [Show more details](https://github.com/KofTwentyTwo/AppKit/security/code-scanning/9)
@@ -31,0 +114,4 @@
mutation:
needs: verify
uses: ./.github/workflows/mutation.yml
github-advanced-security[bot] (Migrated from github.com) commented 2026-10-10 22:52:37 +00:00

zizmor /

use GitHub's dedicated self-repository syntax: use '$/...' instead of './...'

Show more details

## zizmor / use GitHub's dedicated self-repository syntax: use '$/...' instead of './...' [Show more details](https://github.com/KofTwentyTwo/AppKit/security/code-scanning/10)
github-advanced-security[bot] commented 2026-10-10 22:54:12 +00:00 (Migrated from github.com)

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. ### What Enabling Code Scanning Means: - The 'Security' tab will display more code scanning analysis results (e.g., for the default branch). - Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. - You will be able to see the analysis results for the pull request's branch on this [overview](/KofTwentyTwo/AppKit/security/code-scanning?query=pr%3A25+is%3Aopen) once the scans have completed and the checks have passed. For more information about GitHub Code Scanning, check out [the documentation](https://docs.github.com/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning).
You are not authorized to merge this pull request.
This pull request can be merged automatically.
This branch is out-of-date with the base branch
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin docs/appkit-release-0.1.0-handoff:docs/appkit-release-0.1.0-handoff
git checkout docs/appkit-release-0.1.0-handoff
Sign in to join this conversation.