Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
350 commits
Select commit Hold shift + click to select a range
b52860c
fix(windows): transactionally switch workspace projects
coneilen Aug 15, 2026
ea8d6f5
fix(windows): close workspace helper after integration
coneilen Aug 15, 2026
0551deb
fix(windows): merge workspace tab click routing
coneilen Aug 15, 2026
ea0f510
feat(windows): add native graph forms and navigation
coneilen Aug 15, 2026
3fb4593
fix(windows): validate native forms with pinned Zig
coneilen Aug 15, 2026
23c8fcd
fix(windows): harden native forms and wire interop
coneilen Aug 15, 2026
90b17a3
Fix native forms validation and interop fixtures
coneilen Aug 15, 2026
04cb130
Validate effective daemon settings and fixtures
coneilen Aug 15, 2026
7529e31
Resolve cleared support settings independently
coneilen Aug 15, 2026
b6eb8de
feat(windows): surface attention activity and worktree hygiene
coneilen Aug 15, 2026
643a97e
fix(windows): clean sidebar conflict residue
coneilen Aug 15, 2026
dd34da5
Fix attention worktree review findings
coneilen Aug 15, 2026
c11f837
Align worktree binding selection and defaults
coneilen Aug 15, 2026
1489aa7
Add selectable inspected worktree rows
coneilen Aug 15, 2026
c21d19c
Unify worktree row layout and safety selection
coneilen Aug 15, 2026
f6f1f33
Unify sidebar scrolling and section layout
coneilen Aug 15, 2026
de70600
Clamp sidebar scrolling to content bounds
coneilen Aug 15, 2026
af0e87f
Test concrete sidebar scroll bounds
coneilen Aug 15, 2026
4ca9274
Exclude activity strip from sidebar scroll bounds
coneilen Aug 15, 2026
a3103a2
Align sidebar bounds with rendered sections
coneilen Aug 15, 2026
ab5f76e
test(windows): cover attention and hygiene edge cases
coneilen Aug 15, 2026
96aa722
fix(windows): close merged graph model test
coneilen Aug 15, 2026
e6f8d04
fix(windows): deduplicate graph boolean parser
coneilen Aug 15, 2026
0605dd2
fix(windows): reconcile integrated worktree APIs
coneilen Aug 15, 2026
287062d
fix(windows): close worktree reclaim helpers
coneilen Aug 15, 2026
2bdebfd
fix(windows): remove orphaned worktree test fragment
coneilen Aug 15, 2026
8c86376
fix(windows): preserve Codable worktree and fire metadata
coneilen Aug 15, 2026
6ca68a4
fix(windows): close merged input router tests
coneilen Aug 15, 2026
aa90bfc
fix(windows): preserve terminal close shortcut precedence
coneilen Aug 15, 2026
45a8f59
fix(windows): restore coherent integrated sidebar
coneilen Aug 15, 2026
624a6cc
fix(windows): remove app import conflict residue
coneilen Aug 15, 2026
cb66afc
fix(windows): restore coherent integrated app routing
coneilen Aug 15, 2026
f7947b3
fix(windows): align inspection ownership and canvas paint API
coneilen Aug 15, 2026
58ab354
fix(windows): retain canvas state in integrated app
coneilen Aug 15, 2026
76b8a79
fix(windows): tolerate merged action variants
coneilen Aug 15, 2026
238492d
fix(windows): match worktree inspection contract
coneilen Aug 15, 2026
88a4f81
fix(windows): align reclaim error handling
coneilen Aug 15, 2026
db7326f
fix(windows): align empty reclaim handling
coneilen Aug 15, 2026
cc070e1
Fix Windows workspace and region routing
coneilen Aug 15, 2026
08a2471
Separate Windows harness hardening
coneilen Aug 15, 2026
65744c8
Preserve Windows harness process checks
coneilen Aug 15, 2026
84388fc
Restore production Windows UI routing
coneilen Aug 15, 2026
bf3bdd1
Fix Windows UI smoke and native form routing
coneilen Aug 16, 2026
75b59bf
Fix Windows smoke workspace restart routing
coneilen Aug 16, 2026
8e8c1c7
Fix final Windows integration review findings
coneilen Aug 16, 2026
a25959c
Reject empty Windows jump queries
coneilen Aug 16, 2026
5ae3b4b
test(windows): add executable packaging lifecycle coverage
coneilen Aug 16, 2026
5f04bb6
feat(windows): add atomic release packaging and install lifecycle
coneilen Aug 16, 2026
42f5447
fix(windows): preserve user data and portable shortcuts
coneilen Aug 16, 2026
7150dfc
docs(windows): describe distributable bundle metadata
coneilen Aug 16, 2026
5acbda0
fix(windows): make release manifests portable across output paths
coneilen Aug 16, 2026
537814c
fix(windows): harden verified ZIP installs and daemon lifecycle
coneilen Aug 16, 2026
78f42bb
test(windows): cover duplicate paths and provenance rejection
coneilen Aug 16, 2026
9f6a109
test(windows): exercise duplicate manifest rejection directly
coneilen Aug 16, 2026
7a3452e
fix(windows): restore daemon state and trust provider builds
coneilen Aug 16, 2026
47e99ea
test(windows): cover daemon reachability rollback
coneilen Aug 16, 2026
5c03e43
Harden trusted Windows packaging lifecycle
coneilen Aug 16, 2026
b6da314
Harden signed packages and per-user tasks
coneilen Aug 16, 2026
9086316
Make signed verification and task lifecycle portable
coneilen Aug 16, 2026
cf0e81a
Respect no-scheduled-task uninstall mode
coneilen Aug 16, 2026
5e21686
Add Windows release hardening gates
coneilen Aug 16, 2026
21f4389
Strengthen repeated hardening and local environment gates
coneilen Aug 16, 2026
594cd46
Clean up Windows remote fixture process trees
coneilen Aug 16, 2026
95e10ca
Close all isolated terminal stress sessions
coneilen Aug 16, 2026
9fc33f5
Make Swift contract preparation rerunnable
coneilen Aug 16, 2026
a1fabb9
Harden real Windows and environment matrices
coneilen Aug 16, 2026
66cf832
Complete release hardening matrix fixes
coneilen Aug 16, 2026
09324f7
Tighten typed product resource hardening
coneilen Aug 16, 2026
6b23cb7
Enforce active typed product metrics
coneilen Aug 16, 2026
46ca93c
Fix active gate sampler scope
coneilen Aug 16, 2026
93661b6
Fix active shell sampler scope
coneilen Aug 16, 2026
7c36ccf
Harden slow-drip bridge cleanup
coneilen Aug 16, 2026
f9f8a8f
Scope typed metrics to real matrix runs
coneilen Aug 16, 2026
20bae1c
Harden metric snapshots and bridge workers
coneilen Aug 16, 2026
006ae2c
Preserve bridge error responses on cleanup
coneilen Aug 16, 2026
775dda1
Key hardening snapshots by phase and run
coneilen Aug 16, 2026
73d4ca2
Capture owned large-paste metric phases
coneilen Aug 16, 2026
f01e7ea
Preserve large-paste process exit code
coneilen Aug 16, 2026
93177a5
Emit deterministic metric snapshot contract
coneilen Aug 16, 2026
a73d137
Separate large-paste process metrics
coneilen Aug 16, 2026
a9e0036
Stabilize hostile path hardening fixture
coneilen Aug 16, 2026
1a95acb
fix: stabilize clean-runtime output capture
coneilen Aug 16, 2026
09ed851
docs: record Windows release acceptance
coneilen Aug 16, 2026
4fbf4a6
fix: paint the Windows shell before default handling
coneilen Aug 17, 2026
984d306
fix: connect the Windows shell to graphcoded
coneilen Aug 17, 2026
49f0c0c
feat(windows): add tray shell daemon supervision
coneilen Aug 17, 2026
5b314ed
test(windows): make packaging hash test portable
coneilen Aug 17, 2026
fc81d48
fix(windows): harden tray daemon lifecycle
coneilen Aug 17, 2026
8ee7bef
fix(windows): keep package shortcut console-free
coneilen Aug 17, 2026
90daf12
fix(windows): correct shutdown event access type
coneilen Aug 17, 2026
47de552
test(windows): cover daemon startup races
coneilen Aug 17, 2026
0045fb1
style(windows): satisfy Swift formatter
coneilen Aug 17, 2026
3ba6ace
fix(windows): close tray startup races
coneilen Aug 17, 2026
3b9c54e
test(windows): cover competing tray starts
coneilen Aug 17, 2026
4154008
Harden tray startup and live interaction
coneilen Aug 17, 2026
2535590
Use physical tray input in live tests
coneilen Aug 17, 2026
f18ca69
Make live close assertion synchronous
coneilen Aug 17, 2026
2587b5d
Stabilize live single-instance assertions
coneilen Aug 17, 2026
082427a
Harden live tray window startup checks
coneilen Aug 17, 2026
40af2ab
Make tray close hide deterministic
coneilen Aug 17, 2026
9823bf3
Focus shell before physical tray activation
coneilen Aug 17, 2026
98b5920
Use SendInput for tray live coverage
coneilen Aug 17, 2026
c75ff4f
Target taskbar host for physical tray clicks
coneilen Aug 17, 2026
1a47fb1
fix(windows): stabilize tray lifecycle and live coverage
coneilen Aug 17, 2026
7e89792
fix(windows): recover daemon startup and exercise tray Exit
coneilen Aug 17, 2026
3e6d8b6
fix(windows): close daemon startup handoff race
coneilen Aug 17, 2026
2d4befd
feat(windows): add graph lifecycle codec parity
coneilen Aug 17, 2026
6b8fe43
test(windows): validate typed lifecycle interop
coneilen Aug 17, 2026
9aa5914
fix(windows): heap allocate terminal cell buffers
coneilen Aug 17, 2026
f4f3fc5
fix(windows): complete typed graph form parity
coneilen Aug 17, 2026
c98056c
fix(windows): preserve typed form parity in edits
coneilen Aug 17, 2026
7a1b59e
fix(windows): bound native forms and validate graph metadata
coneilen Aug 17, 2026
9a4764d
fix(windows): complete graph schema and form scrolling
coneilen Aug 17, 2026
5d20c59
fix(windows): validate recursive loop graph payloads
coneilen Aug 17, 2026
69ced8d
fix(windows): align runtime graph fixture interop
coneilen Aug 17, 2026
159f649
Canonicalize composite loop aliases
coneilen Aug 17, 2026
5af4e73
Implement Windows multi-project graph lifecycle model
coneilen Aug 17, 2026
1e00845
Fix Zig 0.15.2 parity test failures
coneilen Aug 17, 2026
1b654f7
Fix multi-project graph lifecycle review findings
coneilen Aug 17, 2026
4d372f2
Fix project selection and lifecycle parity
coneilen Aug 17, 2026
4f5a827
Finalize lifecycle and sidebar row parity
coneilen Aug 17, 2026
727d116
Resync active graph after lifecycle removal
coneilen Aug 17, 2026
043209d
Keep active graph aligned with selection
coneilen Aug 17, 2026
b91d161
feat(windows): add native project menus and folder picker
coneilen Aug 17, 2026
31980be
fix(windows): harden parity shell runtime
coneilen Aug 17, 2026
725e632
fix(windows): defer project workspace rebinding
coneilen Aug 17, 2026
669cad8
fix(windows): gate worktrees on local graphs
coneilen Aug 17, 2026
28368e8
fix(windows): preserve terminal modifiers and subscriptions
coneilen Aug 17, 2026
8af6a70
fix(windows): make pending opens allocation safe
coneilen Aug 17, 2026
c11a613
fix(windows): order superseding project opens
coneilen Aug 17, 2026
d77d458
test(windows): cover superseding open ordering
coneilen Aug 17, 2026
2ef376e
fix(windows): correlate project opens by request ID
coneilen Aug 17, 2026
67ecdee
fix(windows): serialize v1 project opens
coneilen Aug 17, 2026
3c17501
test(windows): cover v1 open fallback
coneilen Aug 17, 2026
003a60d
fix(windows): serialize v1 command queue
coneilen Aug 17, 2026
47e4c50
fix(windows): account v1 responses by expected event
coneilen Aug 17, 2026
28dce45
feat(windows): add graph canvas interaction parity
coneilen Aug 17, 2026
816467d
fix(windows): validate canvas interaction build
coneilen Aug 17, 2026
e3d9203
fix(windows): preserve canvas identity across refresh
coneilen Aug 17, 2026
2af11f9
Fix stable canvas interaction targets
coneilen Aug 17, 2026
5608eca
Fix edge drop capture lifetime
coneilen Aug 17, 2026
a80ce95
fix(windows): reconcile accepted graph integration
coneilen Aug 17, 2026
a6b1866
fix(windows): preserve stable graph identities
coneilen Aug 17, 2026
49e0c25
fix(windows): harden integrated project identity flows
coneilen Aug 17, 2026
b5a5cbd
feat: persist parity settings and node defaults
coneilen Aug 17, 2026
cd4a800
test: cover clone argv and persisted settings
coneilen Aug 17, 2026
3707e46
test: exercise Windows settings persistence
coneilen Aug 17, 2026
5a9c043
feat: add Windows parity dialogs and onboarding
coneilen Aug 17, 2026
40849f7
fix: close Windows parity review gaps
coneilen Aug 17, 2026
b583142
Fix Windows parity lifecycle and settings
coneilen Aug 17, 2026
1c324db
Harden Windows settings and clone staging
coneilen Aug 17, 2026
4636e79
Fix clone progress snapshot type
coneilen Aug 17, 2026
bc6e527
Preserve settings and harden clone cancellation
coneilen Aug 17, 2026
7626265
Complete Windows runtime settings and cancellation
coneilen Aug 17, 2026
cd18339
Fix settings updates redaction and remote URI parity
coneilen Aug 17, 2026
137f690
Finalize async updates and safe settings recovery
coneilen Aug 17, 2026
61cb976
Harden Windows updater transport and lifecycle
coneilen Aug 17, 2026
742aae6
Finalize Windows release versioning and WinHTTP strings
coneilen Aug 17, 2026
4f81460
Compare updater releases semantically
coneilen Aug 17, 2026
bca1f1b
Select newest compatible updater release
coneilen Aug 17, 2026
9b658d9
Order beta releases by numeric suffix
coneilen Aug 17, 2026
b3cb770
feat(windows): add worktree and accessibility parity
coneilen Aug 17, 2026
0c41595
fix(windows): validate live accessibility attachment
coneilen Aug 17, 2026
5a7128e
Implement native worktree accessibility parity
coneilen Aug 17, 2026
e4515c0
Fix live UIA tree and worktree action routing
coneilen Aug 17, 2026
ac795c9
Complete UIA hierarchy selection and status parity
coneilen Aug 17, 2026
21c8cde
Harden UIA node hierarchy and live validation
coneilen Aug 17, 2026
8643d66
Add explicit UIA policy toggles and App-backed fixtures
coneilen Aug 17, 2026
10c05f0
Stabilize UIA fragment roots and policy toggles
coneilen Aug 17, 2026
594040a
fix(windows): stabilize native UIA fragments
coneilen Aug 17, 2026
e2d6c77
fix(windows): harden dynamic UIA worktrees
coneilen Aug 17, 2026
7dc4369
fix(windows): emit precise UIA state events
coneilen Aug 17, 2026
ef1005c
fix(windows): suppress unchanged UIA status events
coneilen Aug 17, 2026
a49edad
fix(windows): reconcile settings and accessibility shortcuts
coneilen Aug 17, 2026
43dbe96
fix(windows): preserve tray caption close hiding
coneilen Aug 17, 2026
01089c0
fix(windows): route tray commands before UIA actions
coneilen Aug 17, 2026
10ec4c2
feat(windows): add chats navigation and workspace parity
coneilen Aug 17, 2026
6d1e332
docs(windows): record quick chat protocol blocker
coneilen Aug 17, 2026
9ccecb8
docs(windows): add quick chat protocol contract
coneilen Aug 17, 2026
7350345
fix(windows): terminate tray exit message loop
coneilen Aug 17, 2026
b8533ae
docs(windows): document parity action reachability
coneilen Aug 17, 2026
aefec45
Use native shell for Windows zmx ensure
coneilen Aug 17, 2026
9458785
Revert "docs(windows): add quick chat protocol contract"
coneilen Aug 17, 2026
bc8a871
Revert "docs(windows): record quick chat protocol blocker"
coneilen Aug 17, 2026
d674f59
Revert "feat(windows): add chats navigation and workspace parity"
coneilen Aug 17, 2026
3d10a2c
feat(windows): add chats navigation and workspace parity
coneilen Aug 17, 2026
6f721fc
docs(windows): record quick chat protocol blocker
coneilen Aug 17, 2026
1335a16
docs(windows): add quick chat protocol contract
coneilen Aug 17, 2026
7430e23
Implement daemon-backed Quick Chats parity
coneilen Aug 17, 2026
34d7ed7
Attach Quick Chats to persistent zmx sessions
coneilen Aug 17, 2026
74c3046
Make Quick Chat sessions resultful
coneilen Aug 17, 2026
4acd1fa
Harden Quick Chat ownership and Windows rendering
coneilen Aug 17, 2026
8d4205d
Complete Quick Chat validation and workspace rendering
coneilen Aug 17, 2026
8f4fc7f
Pin Quick Chat zmx provider
coneilen Aug 17, 2026
a8d0390
Fix Quick Chat Windows zmx daemon launch
coneilen Aug 17, 2026
794c05b
Revert "Fix Quick Chat Windows zmx daemon launch"
coneilen Aug 17, 2026
a8e261c
Revert "Pin Quick Chat zmx provider"
coneilen Aug 17, 2026
2fde370
Revert "Complete Quick Chat validation and workspace rendering"
coneilen Aug 17, 2026
f857341
Revert "Harden Quick Chat ownership and Windows rendering"
coneilen Aug 17, 2026
f7f9360
Revert "Make Quick Chat sessions resultful"
coneilen Aug 17, 2026
fbcf8f4
Revert "Attach Quick Chats to persistent zmx sessions"
coneilen Aug 17, 2026
1df447c
Revert "Implement daemon-backed Quick Chats parity"
coneilen Aug 17, 2026
cfcf662
Revert "docs(windows): add quick chat protocol contract"
coneilen Aug 17, 2026
7147040
Revert "docs(windows): record quick chat protocol blocker"
coneilen Aug 17, 2026
667e7ec
revert(windows): exclude Quick Chats parity stack
coneilen Aug 17, 2026
f5e2c8d
fix(windows): preserve workspace chrome contract
coneilen Aug 17, 2026
58f9d46
Reapply "Complete Quick Chat validation and workspace rendering"
coneilen Aug 17, 2026
e9659a8
Reapply "Fix Quick Chat Windows zmx daemon launch"
coneilen Aug 17, 2026
f7a8fc8
Harden Quick Chat readiness and workspace visibility
coneilen Aug 17, 2026
20e29d3
Guard Quick Chat launch by platform
coneilen Aug 17, 2026
1a5c652
Harden Quick Chat readiness and layout
coneilen Aug 17, 2026
06db32f
Fix final chats navigation review findings
coneilen Aug 17, 2026
8d754a9
Fix Quick Chat Windows integration regressions
coneilen Aug 17, 2026
f6a41d5
Advance Windows UI parity and lifecycle reliability
coneilen Aug 18, 2026
b32d78c
Complete Windows composite canvas navigation
coneilen Aug 18, 2026
4f4d7cc
Close additional Windows UI parity gaps
coneilen Aug 18, 2026
462d9a1
Surface project ingress errors inline
coneilen Aug 18, 2026
280ff18
Validate Windows empty graph states
coneilen Aug 18, 2026
67b9f58
Validate remote connection information
coneilen Aug 18, 2026
de58463
Validate native folder ingress
coneilen Aug 18, 2026
96b50f5
Validate project graph deletion confirmation
coneilen Aug 18, 2026
bb7622e
Complete graph deletion confirmations
coneilen Aug 18, 2026
4d549e9
Add inline daemon connection failures
coneilen Aug 18, 2026
87c1e5c
Complete Windows jump palette
coneilen Aug 18, 2026
3ecb940
Complete Windows product settings parity
coneilen Aug 18, 2026
87d9528
Complete Windows sidebar interaction parity
coneilen Aug 18, 2026
77bef28
Merge upstream main (0.1.51) into the Windows port
scgopi Aug 26, 2026
b978338
Fix two defects the macOS build and tests exposed
scgopi Aug 26, 2026
887f742
Make Windows builds reproducible
coneilen Sep 14, 2026
56dfb35
Use public Windows provider repositories
coneilen Sep 14, 2026
c0c8544
Install Swift explicitly in Windows CI
coneilen Sep 14, 2026
5a2718f
Fix clean-checkout Windows validation
coneilen Sep 14, 2026
068e384
Adapt Windows validation to hosted runners
coneilen Sep 14, 2026
bffaa8f
Fix hosted Windows daemon validation
coneilen Sep 14, 2026
d038205
Accept canonical inherited ACL metadata
coneilen Sep 14, 2026
95c99ae
Parse Windows ACL metadata semantically
coneilen Sep 14, 2026
4fc0bad
Report rejected rendezvous descriptors
coneilen Sep 14, 2026
847513c
Recognize canonical Windows SID aliases
coneilen Sep 14, 2026
2043704
Fail fast on remote bridge thread leaks
coneilen Sep 14, 2026
68361fe
Exit remote bridge validation deterministically
coneilen Sep 14, 2026
55580f4
Stabilize remote bridge privacy stress
coneilen Sep 14, 2026
0667540
Scale remote bridge stress to runner capacity
coneilen Sep 14, 2026
572d4e2
Bound hosted remote bridge concurrency
coneilen Sep 15, 2026
ad5a621
Gate WSL remote fixtures explicitly in hosted CI
coneilen Sep 15, 2026
c4f7650
Format the non-Windows daemon entry point
coneilen Sep 15, 2026
b519ed5
Relax only stressed remote bridge waits
coneilen Sep 15, 2026
9027c42
Stabilize hosted terminal provider validation
coneilen Sep 15, 2026
907e15a
Preserve terminal sessions across surface stress
coneilen Sep 15, 2026
5e8e31c
Stabilize real Windows hardening matrix
coneilen Sep 15, 2026
9767962
Preserve release shell version in hardening
coneilen Sep 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.swift text eol=lf
5 changes: 4 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,14 @@

<!-- How did you verify this works? -->

-
RED: <focused command> -> <failure proving the behavior was missing>
GREEN: <same focused command> -> pass
REGRESSION: <adjacent/full command> -> pass

## Checklist

- [ ] I have read the [Contributing Guidelines](../CONTRIBUTING.md)
- [ ] I have signed off my commits (`git commit -s`) per the DCO
- [ ] Tests pass locally (`make test`)
- [ ] Code follows the existing style (`make check`)
- [ ] I added the test/contract before the implementation and observed the intended RED failure
47 changes: 47 additions & 0 deletions .github/workflows/macos-shared-regression.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: macOS shared Swift regression

on:
workflow_dispatch:
pull_request:
paths:
- "GraphcodeKit/**"
- "graphcode/**"
- "graphcoded/**"
- "graphcode-cli/**"
- "investigation/spikes/swift-portable/**"
- "Project.swift"
- "Tuist.swift"
- "Tuist/**"
- "mise.toml"
- "Makefile"
- ".gitmodules"
- "ThirdParty/**"
- "**/Package.swift"
- "**/Package.resolved"
- ".swift-format"
- ".swiftlint.yml"
- ".github/workflows/macos-shared-regression.yml"

permissions:
contents: read

jobs:
macos:
runs-on: macos-14
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
submodules: recursive
fetch-depth: 0
- name: Prepare portable Swift sources
run: python3 Tools/portable-prepare.py
- name: Install pinned mise tools
run: |
brew install mise
mise install
- name: Validate shared portable Swift package
run: mise exec -- swift test --package-path investigation/spikes/swift-portable
- name: Validate macOS app, daemon, and CLI
run: mise exec -- make test
- name: Validate macOS lint and formatting
run: mise exec -- make check
18 changes: 18 additions & 0 deletions .github/workflows/tdd-evidence.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: TDD evidence

on:
pull_request:
types: [opened, edited, synchronize, reopened]

permissions:
contents: read

jobs:
validate:
runs-on: windows-2022
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4

- name: Require RED, GREEN, and REGRESSION evidence
shell: pwsh
run: ./Tools/tdd/Test-TddEvidence.ps1 -EventPath $env:GITHUB_EVENT_PATH
81 changes: 81 additions & 0 deletions .github/workflows/windows-hardening.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Windows release hardening

on:
workflow_dispatch:
inputs:
environment_target:
description: "Workspace-relative path to the owned environment harness"
required: false
type: string
schedule:
- cron: "17 3 * * 1"
pull_request:
paths:
- ".github/workflows/windows-hardening.yml"
- "Package.swift"
- "Package.resolved"
- "MailroomKit/**"
- "GraphcodeKit/**"
- "graphcode-cli/**"
- "graphcoded/**"
- "graphcode-windows/**"
- "windows-tests/**"
- "Tools/windows/**"
- "investigation/windows-implementation-plan.md"
- "Tools/windows/validation-matrix.md"

permissions:
contents: read

jobs:
deterministic:
name: "Deterministic hardening (${{ matrix.os }}, ${{ matrix.powershell }})"
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
powershell: [pwsh]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Run hardening contract
shell: pwsh
run: ./Tools/windows/validate.ps1 -Task hardening
- name: Verify runner contract
shell: pwsh
run: ./Tools/windows/Tests/ValidationRunner.Tests.ps1

full-pinned:
name: "Full pinned Windows validation"
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
runs-on: windows-2022
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- uses: compnerd/gha-setup-swift@397094e75494a93fa8d81db0268dbc8f5d6cf7c6 # v0.4.1
with:
swift-version: swift-6.3.3-release
swift-build: 6.3.3-RELEASE
cache: true
- name: Bootstrap exact Windows dependencies
shell: pwsh
run: ./Tools/windows/bootstrap.ps1 -ToolRoot .ci-tools -ProviderRoot .ci-providers
- name: Run complete release gate
shell: pwsh
run: ./Tools/windows/validate.ps1 -Task all -SkipTrayLive -SkipWslRemoteE2E
- name: Run real hardening matrix after release products
shell: pwsh
env:
GRAPHCODE_HARDENING_TARGET: ${{ github.workspace }}\Tools\windows\Tests\EnvironmentFixture.ps1
run: ./Tools/windows/Tests/Hardening.Tests.ps1 -Environment -SkipTrayLive

environment:
name: "Gated environment hardening"
if: github.event_name == 'workflow_dispatch' && inputs.environment_target != ''
runs-on: windows-2022
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
- name: Run explicitly selected environment tier
shell: pwsh
env:
GRAPHCODE_HARDENING_TARGET: ${{ inputs.environment_target }}
run: ./Tools/windows/Tests/Hardening.Tests.ps1 -Environment -SchemaOnly
44 changes: 44 additions & 0 deletions .github/workflows/windows-port-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Windows port validation

on:
workflow_dispatch:
pull_request:
paths:
- ".github/workflows/windows-port-validation.yml"
- "Package.swift"
- "Package.resolved"
- "MailroomKit/**"
- "GraphcodeKit/**"
- "graphcode-cli/**"
- "graphcoded/**"
- "graphcode-windows/**"
- "windows-tests/**"
- "Tools/windows/**"
- "investigation/**"

permissions:
contents: read

jobs:
windows-spikes:
runs-on: windows-2022
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4

- uses: compnerd/gha-setup-swift@397094e75494a93fa8d81db0268dbc8f5d6cf7c6 # v0.4.1
with:
swift-version: swift-6.3.3-release
swift-build: 6.3.3-RELEASE
cache: true

- name: Bootstrap exact Windows dependencies
shell: pwsh
run: ./Tools/windows/bootstrap.ps1 -ToolRoot .ci-tools -ProviderRoot .ci-providers

- name: Verify validation runner contract
shell: pwsh
run: ./Tools/windows/Tests/ValidationRunner.Tests.ps1

- name: Run Windows port validation
shell: pwsh
run: ./Tools/windows/validate.ps1 -Task all -SkipTrayLive -SkipWslRemoteE2E
56 changes: 56 additions & 0 deletions .github/workflows/windows-shell.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Windows shell validation

on:
workflow_dispatch:
pull_request:
paths:
- ".github/workflows/windows-shell.yml"
- "Package.swift"
- "Package.resolved"
- "MailroomKit/**"
- "GraphcodeKit/**"
- "graphcode-cli/**"
- "graphcoded/**"
- "windows-tests/**"
- "graphcode-windows/**"
- "Tools/windows/bootstrap.ps1"
- "Tools/windows/windows-shell.ps1"
- "Tools/windows/uia-live-gate.ps1"
- "Tools/windows/validate.ps1"
- "Tools/windows/Tests/WindowsShell.Tests.ps1"
- "Tools/windows/Tests/TrayDaemon.Tests.ps1"
- "Tools/windows/Tests/TrayLive.Tests.ps1"
- "Tools/windows/Tests/ValidationRunner.Tests.ps1"
- "Tools/windows/package.ps1"
- "Tools/windows/PACKAGING.md"
- "Tools/windows/Tests/Packaging.Tests.ps1"
- "Tools/windows/Tests/Packaging.RealLifecycle.Tests.ps1"
- "graphcode-windows/package-metadata.json"
- "investigation/windows-implementation-plan.md"

permissions:
contents: read

jobs:
windows-shell:
runs-on: windows-2022
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4

- uses: compnerd/gha-setup-swift@397094e75494a93fa8d81db0268dbc8f5d6cf7c6 # v0.4.1
with:
swift-version: swift-6.3.3-release
swift-build: 6.3.3-RELEASE
cache: true

- name: Bootstrap exact Windows dependencies
shell: pwsh
run: ./Tools/windows/bootstrap.ps1 -ToolRoot .ci-tools -ProviderRoot .ci-providers

- name: Verify shell contracts and pinned-provider smoke
shell: pwsh
run: ./Tools/windows/validate.ps1 -Task windows-shell -SkipTrayLive

- name: Validate release packaging
shell: pwsh
run: ./Tools/windows/validate.ps1 -Task packaging
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ xcuserdata/
# SwiftPM
.swiftpm/

# Zig build outputs
.zig-cache/
zig-out/
.graphcode-tools/
.ci-tools/
.ci-providers/

# mise
.mise.local.toml

Expand Down
Loading
Loading