-
Notifications
You must be signed in to change notification settings - Fork 0
[codex] Delta closure: truthful routing + portability cleanup #90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -69,7 +69,8 @@ | |
| - verifies feature-flag gate, missing runtime context gate, and mode mismatch blocking | ||
| - `BackendRouterTests` | ||
| - verifies fail-closed mutating behavior for hard-extender profiles | ||
| - verifies extender route promotion only when capability proof is present | ||
| - verifies promoted extender routing is opt-in via `SWFOC_FORCE_PROMOTED_EXTENDER` | ||
| - verifies extender route promotion only when capability proof is present under override mode | ||
| - verifies capability contract blocking and legacy memory fallback behavior | ||
| - verifies fallback patch actions stay off promoted extender matrix and preserve managed-memory routing | ||
| - `MainViewModelSessionGatingTests` | ||
|
|
@@ -193,7 +194,13 @@ For each profile (`base_sweaw`, `base_swfoc`, `aotr_1397421866_swfoc`, `roe_3447 | |
|
|
||
| ## Phase 2 promoted action and hotkey checks | ||
|
|
||
| Promoted actions are extender-authoritative and fail-closed for FoC profiles. | ||
| Promoted FoC actions are not forced to extender by default. | ||
| For extender-authoritative promoted matrix evidence, explicitly enable: | ||
|
|
||
| ```powershell | ||
| $env:SWFOC_FORCE_PROMOTED_EXTENDER = "1" | ||
| ``` | ||
|
Comment on lines
+197
to
+202
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Align matrix pass-count criteria with the current promoted contract. Line 223 still expects Also applies to: 223-225, 236-240 🤖 Prompt for AI Agents |
||
|
|
||
| Evidence must come from `actionStatusDiagnostics` in `repro-bundle.json` (source `live-promoted-action-matrix.json`). | ||
|
|
||
| Required profile/action matrix: | ||
|
|
@@ -226,6 +233,12 @@ Verification checklist: | |
| - when `top-mods.json` is present, `actionStatusDiagnostics.entries` must include explicit rows for discovered workshop ids (up to 10 mods x 5 promoted actions) | ||
| - top-mod rows may be `Skipped` during deterministic/live runs that only execute shipped profile matrix, but each skipped row must include `skipReasonCode` | ||
|
|
||
| After matrix runs: | ||
|
|
||
| ```powershell | ||
| Remove-Item Env:SWFOC_FORCE_PROMOTED_EXTENDER -ErrorAction SilentlyContinue | ||
| ``` | ||
|
|
||
| ## Live Ops checklist (M1) | ||
|
|
||
| For tactical sessions: | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| using System.Text.RegularExpressions; | ||
| using FluentAssertions; | ||
| using SwfocTrainer.Tests.Common; | ||
| using Xunit; | ||
|
|
||
| namespace SwfocTrainer.Tests.Profiles; | ||
|
|
||
| public sealed class ProfileMetadataPortabilityTests | ||
| { | ||
| private static readonly Regex UserScopedWindowsSaveRootPattern = new( | ||
| "\"saveRootDefault\"\\s*:\\s*\"[A-Za-z]:\\\\\\\\Users\\\\\\\\", | ||
| RegexOptions.IgnoreCase | RegexOptions.Compiled); | ||
|
|
||
| [Fact] | ||
| public void DefaultProfiles_ShouldNotContain_UserSpecific_SaveRootDefaults() | ||
| { | ||
| var root = TestPaths.FindRepoRoot(); | ||
| var profileDirectory = Path.Combine(root, "profiles", "default", "profiles"); | ||
| var profileFiles = Directory.GetFiles(profileDirectory, "*.json", SearchOption.TopDirectoryOnly); | ||
|
|
||
| profileFiles.Should().NotBeEmpty(); | ||
|
|
||
| foreach (var profileFile in profileFiles) | ||
| { | ||
| var content = File.ReadAllText(profileFile); | ||
| UserScopedWindowsSaveRootPattern.IsMatch(content).Should().BeFalse( | ||
| because: $"profile metadata in '{Path.GetFileName(profileFile)}' should stay portable across user accounts"); | ||
| } | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add matching
repro-bundle.mdevidence entries.Line 126 and Line 127 list only
repro-bundle.json. For runtime/mod closure evidence in this repo, include the paired markdown artifact too for each run ID.📎 Suggested update
Based on learnings: Mod/runtime bugfixes must include a reproducible bundle with
TestResults/runs/<runId>/repro-bundle.jsonandTestResults/runs/<runId>/repro-bundle.md.📝 Committable suggestion
🤖 Prompt for AI Agents