Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
18c546a
fix(parser): capture live lexer restart state
EffortlessSteven Aug 11, 2026
4d88aea
contract(parser): report lexer restart strategy
EffortlessSteven Aug 11, 2026
48e4cae
fix(parser): derive restart summaries from live lexing
EffortlessSteven Aug 11, 2026
e94c08b
fix(parser): relex live checkpoint suffix to EOF
EffortlessSteven Aug 11, 2026
4adf613
fix(parser): return truthful lexer restart receipt
EffortlessSteven Aug 11, 2026
3b9e8f4
fix(parser): keep one replayable summary per byte boundary
EffortlessSteven Aug 11, 2026
493bb40
test(parser): prove live checkpoint restart parity
EffortlessSteven Aug 11, 2026
01f00b8
test(parser): import restart strategy from incremental module
EffortlessSteven Aug 11, 2026
94a30ba
fix(parser): suppress restart boundaries inside pending heredocs
EffortlessSteven Aug 11, 2026
d224667
test(parser): borrow heredoc token kind in restart guard
EffortlessSteven Aug 11, 2026
0985810
fix(lexer): checkpoint every mutable replay state
EffortlessSteven Aug 11, 2026
99b09e9
fix(lexer): restore complete mutable checkpoint state
EffortlessSteven Aug 11, 2026
9bf11c2
feat(lexer): export complete checkpoint state types
EffortlessSteven Aug 11, 2026
99e218d
fix(parser): authorize heredoc restart boundaries from live state
EffortlessSteven Aug 11, 2026
d2653dd
fix(parser): adjust live checkpoints across edits
EffortlessSteven Aug 11, 2026
aff441a
fix(lexer): expose checkpoint edit invalidation
EffortlessSteven Aug 11, 2026
4c6794b
fix(parser): keep stacked edit batches atomic
EffortlessSteven Aug 11, 2026
00ab466
feat(parser): model unchanged lexer restart receipts
EffortlessSteven Aug 11, 2026
c191b19
fix(parser): report empty edit batches as unchanged
EffortlessSteven Aug 11, 2026
309fdc1
test(parser): carry generation-neutral no-op proof into restart branch
EffortlessSteven Aug 11, 2026
dfc0524
test(parser): expand restart receipts across stateful Perl edits
EffortlessSteven Aug 11, 2026
26feb3d
fix(lexer): fail closed when checkpoint position identity shifts
EffortlessSteven Aug 11, 2026
5ecc0cf
test(lexer): prove shifted and invalidated checkpoints cannot restore
EffortlessSteven Aug 11, 2026
ed7c675
test(parser): migrate restart contracts to state accessors
EffortlessSteven Aug 11, 2026
ce1cf0c
fix(parser): apply incremental batches atomically
EffortlessSteven Aug 11, 2026
3bec85d
test(parser): prove empty edit batches are no-ops
EffortlessSteven Aug 11, 2026
525093e
fix(parser): keep unit-test imports explicit
EffortlessSteven Aug 11, 2026
eb8c651
fix(incremental): keep live checkpoints restorable
EffortlessSteven Aug 12, 2026
cd20fa5
fix(parser): fail closed on timeout-sensitive checkpoints
EffortlessSteven Aug 12, 2026
24898ea
fix(parser): align checkpoint recovery with current lexer policy
EffortlessSteven Aug 12, 2026
6ce184d
fix(parser): keep timeout repair merge-compatible
EffortlessSteven Aug 12, 2026
0739bc0
ci(parser): record this PR's proofs in the parser integration identit…
EffortlessSteven Aug 15, 2026
5d2a13c
fix(parser): fail closed on invalid checkpoint windows
EffortlessSteven Aug 18, 2026
6252120
fix(ci): classify lexer restart exports
EffortlessSteven Aug 18, 2026
667b004
ci(parser): register lexer restart integration proof
EffortlessSteven Aug 18, 2026
eb12bce
fix(parser): use direct checkpoint validity predicates
EffortlessSteven Aug 18, 2026
f3bdf2b
test: cover checkpoint offset transforms
EffortlessSteven Aug 18, 2026
3df35d4
fix(parser): repair live lexer restart findings
EffortlessSteven Aug 18, 2026
51730ed
fix(ci): align parser authority export marker
EffortlessSteven Aug 18, 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
18 changes: 18 additions & 0 deletions .ci/parser-facade/incremental.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,24 @@
"exit_condition": "Move any real scope projection to its semantic owner or remove.",
"production_eligible": false
},
{
"name": "diagnostics::LexRestartReport",
"classification": "incremental_parser",
"disposition": "review",
"owner": "#6704",
"target_owner": "#6982",
"exit_condition": "Retain as the diagnostics component of the canonical ReparseResult contract.",
"production_eligible": true
},
{
"name": "diagnostics::LexRestartStrategy",
"classification": "incremental_parser",
"disposition": "review",
"owner": "#6704",
"target_owner": "#6982",
"exit_condition": "Retain as the strategy component of the canonical ReparseResult contract.",
"production_eligible": true
},
Comment thread
coderabbitai[bot] marked this conversation as resolved.
{
"name": "diagnostics::ReparseResult",
"classification": "incremental_parser",
Expand Down
17 changes: 17 additions & 0 deletions .ci/parser-integration-targets.json
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,23 @@
"reason": "Prove recovery-aware ParseOutput is retained across incremental edits; previously run by a hardcoded command in run_parser_integration.py.",
"disposition": "execute",
"boundedness": "focused"
},
{
"id": "parser.incremental.lexer_restart",
"package": "perl-parser",
"target": "incremental_lexer_restart",
"features": [
"incremental"
],
"no_default_features": false,
"cargo_args": [],
"test_args": [
"--test-threads=4"
],
"owner": "#6704",
"reason": "Prove live lexer checkpoint restart preserves token and span parity across stateful edits.",
"disposition": "execute",
"boundedness": "focused"
}
]
}
4 changes: 4 additions & 0 deletions .ci/parser-integration-targets.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@
"id": "parser.incremental.integration",
"invocation_sha256": "98bfa4782cd2d2cc0c011f5c8e8da509d8c54d40a117f43a6e5e8b463fa8c280"
},
{
"id": "parser.incremental.lexer_restart",
"invocation_sha256": "2e3c092a71b04dfbad677cacae814bdbd88b0b9eabc5af53801ea4e01419a530"
},
{
"id": "parser.incremental.parse_output",
"invocation_sha256": "f89586c06aa3283f287be63d2a7d898da759483bd471416e184e59b271452e2e"
Expand Down
Loading
Loading