You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Compare resolved ECS and CoiSA policies with golden fixtures #5
Decide the canonical detailed policy before any broad consumer migration. Compare DevTools ECS/Rector/PHPDoc against coisa/php-cs-fixer without claiming equivalence.
Acceptance
Capture resolved rule-by-rule sets at fixed versions, precedence, risky flags, header placement/year, Finder exclusions, runtime versus consumer PHP minimum and custom Rector PHPDoc behavior.
Golden fixtures for representative style and semantics plus second-pass idempotence/no-write checks.
Record selected rules, deliberate exclusions and any behavior-changing opt-in profile.
Evaluate optional Twig/magic-value policies only if selected; coordinate Composer normalization with its separate domain and retain one writer.
Existing consumer workflows are references only; no migration or retroactive change to public APIs by inference.
Can begin as a read-only comparison independently; implementation depends on #1. Supports #4 and later explicitly authorized pilot rollouts. Current-head checks, Codex and CodeRabbit approval apply to every resulting PR.
Independent source-comparison checkpoint while external review gates remain pending; this does not close #5 or change any PR HEAD.
Read fixed source snapshots: CoiSA fdee71bc63d4846463d7715afbc515d63ef2c537 (clean), DevTools35b5f78ac63813ec07aa3fb3eda08751541e28e1, Code Standards9666d997c864e4e74b7ca0ca8cbce849091353a7. Both legacy composer.lock files are untracked local files, so they are inventory rather than published reproducible graphs. Observed local versions differ: CoiSA Fixer3.95.27; DevTools Fixer3.95.1/ECS13.0.4/Rector2.4.2; Code Standards tracked ECS13.3.8.
Concrete differences needing deliberate decisions: CoiSA allows risky migrations, protected_to_private/date_time_immutable, author removal, optional after_open PHPDoc header/year normalization. DevTools has broad ECS sets plus semantic Rector sets and custom PHPDoc/Faker/Safe behavior. Initial Code Standards deliberately keeps non-risky PSR12, preserves author/package/typed-param/void-return documentation, visibility, mutable DateTime and existing headers, with behavioral goldens in #15. File selection/Finder/VCS-ignore policies also differ. Preset labels alone cannot establish parity, particularly across ECS versions.
Next acceptance remains isolated explicit dependency graphs and effective rule/options/risky resolution, then representative golden comparison before any broader opt-in profile. No legacy formatter/install/cache writes or consumer migration occurred. Detailed durable source matrix: evidence/legacy-policy-source-comparison.md in the development workspace.
Published and read back a focused extension as #17, HEAD6695eef757e1a25cfd03a6ed6ffaaceca962abc3, based on #15/b583037. Actual inventory includes230 CoiSA fixers/54 risky,216 DevTools/43 risky plus one sniff, and48 initial/0 risky.495 records were independently checked against source files/options/hashes. Crucial provenance: active DevTools Fixer is bundled3.92.4, not root3.95.1. Local suite21tests208assertions,19PHP syntax/ECS, Composer/actionlint/whitespace pass. No existing PR HEAD changed; #17 awaits its own hosted gates.
Additional native CLI fixture evidence: copied synthetic preservation input, never legacy source. Both dry-runs preserved exact bytes (CoiSA exit8/ECS exit2); explicit fix0, recheck0, second fix0 with identical fixed bytes. CoiSA removed author/typed-param/return/property docs and converted DateTime→DateTimeImmutable; ECS preserved these but removed package and changed docblock layout. This reinforces keeping the initial preservation profile distinct. Runtime8.5.11 against minimum^8.3 produced the expected upstream runtime warning; no all-target guarantee is claimed. Full pipeline/header/Finder/override decisions remain open.
Activity
coisa commentedon Oct 21, 2026
Independent source-comparison checkpoint while external review gates remain pending; this does not close #5 or change any PR HEAD.
Read fixed source snapshots: CoiSA fdee71bc63d4846463d7715afbc515d63ef2c537 (clean), DevTools35b5f78ac63813ec07aa3fb3eda08751541e28e1, Code Standards9666d997c864e4e74b7ca0ca8cbce849091353a7. Both legacy composer.lock files are untracked local files, so they are inventory rather than published reproducible graphs. Observed local versions differ: CoiSA Fixer3.95.27; DevTools Fixer3.95.1/ECS13.0.4/Rector2.4.2; Code Standards tracked ECS13.3.8.
Concrete differences needing deliberate decisions: CoiSA allows risky migrations, protected_to_private/date_time_immutable, author removal, optional after_open PHPDoc header/year normalization. DevTools has broad ECS sets plus semantic Rector sets and custom PHPDoc/Faker/Safe behavior. Initial Code Standards deliberately keeps non-risky PSR12, preserves author/package/typed-param/void-return documentation, visibility, mutable DateTime and existing headers, with behavioral goldens in #15. File selection/Finder/VCS-ignore policies also differ. Preset labels alone cannot establish parity, particularly across ECS versions.
Next acceptance remains isolated explicit dependency graphs and effective rule/options/risky resolution, then representative golden comparison before any broader opt-in profile. No legacy formatter/install/cache writes or consumer migration occurred. Detailed durable source matrix: evidence/legacy-policy-source-comparison.md in the development workspace.
coisa commentedon Oct 21, 2026
Published and read back a focused extension as #17, HEAD6695eef757e1a25cfd03a6ed6ffaaceca962abc3, based on #15/b583037. Actual inventory includes230 CoiSA fixers/54 risky,216 DevTools/43 risky plus one sniff, and48 initial/0 risky.495 records were independently checked against source files/options/hashes. Crucial provenance: active DevTools Fixer is bundled3.92.4, not root3.95.1. Local suite21tests208assertions,19PHP syntax/ECS, Composer/actionlint/whitespace pass. No existing PR HEAD changed; #17 awaits its own hosted gates.
Additional native CLI fixture evidence: copied synthetic preservation input, never legacy source. Both dry-runs preserved exact bytes (CoiSA exit8/ECS exit2); explicit fix0, recheck0, second fix0 with identical fixed bytes. CoiSA removed author/typed-param/return/property docs and converted DateTime→DateTimeImmutable; ECS preserved these but removed package and changed docblock layout. This reinforces keeping the initial preservation profile distinct. Runtime8.5.11 against minimum^8.3 produced the expected upstream runtime warning; no all-target guarantee is claimed. Full pipeline/header/Finder/override decisions remain open.