Problem
phpc lint --all examples/003-MiniWebApp --json reports node kinds and registry issue numbers (e.g. 115, 145), but contributors must manually open https://github.com/PurHur/php-compiler/issues/N. The MiniWebApp README blocker matrix links issues by hand.
Goal
Each JSON diagnostic includes a stable tracker URL when UnsupportedRegistry maps a node kind to an issue id:
{
"file": "examples/003-MiniWebApp/src/Router.php",
"line": 18,
"message": "unsupported … ClassMethod",
"issue": 145,
"issue_url": "https://github.com/PurHur/php-compiler/issues/145"
}
Optional: make web-smoke prints the same URLs when logging 003 lint failures (#455).
Scope
Acceptance criteria
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
./phpc lint --all examples/003-MiniWebApp --json | grep -q 'issues/145'
Exit 0 after implementation.
Verification (local / Docker only)
./script/ci-fast.sh --filter PhpcLintJson
No GitHub Actions required.
Dependencies
Links
Problem
phpc lint --all examples/003-MiniWebApp --jsonreports node kinds and registry issue numbers (e.g.115,145), but contributors must manually openhttps://github.com/PurHur/php-compiler/issues/N. The MiniWebApp README blocker matrix links issues by hand.Goal
Each JSON diagnostic includes a stable tracker URL when
UnsupportedRegistrymaps a node kind to an issue id:{ "file": "examples/003-MiniWebApp/src/Router.php", "line": 18, "message": "unsupported … ClassMethod", "issue": 145, "issue_url": "https://github.com/PurHur/php-compiler/issues/145" }Optional:
make web-smokeprints the same URLs when logging 003 lint failures (#455).Scope
lib/Lint/JSON serializer addsissue_urlwhenissueid presentbin/phpc.phplint --jsonhelp documents fieldstest/unit/PhpcLintJsonTest.phpasserts URL for a known registry mapping (e.g.Stmt_Break→ Language: break and continue for loops and switch #115)examples/003-MiniWebApp/README.mdto reference JSON field (optional)Acceptance criteria
Exit 0 after implementation.
Verification (local / Docker only)
No GitHub Actions required.
Dependencies
Links