Track active symlink expansions precisely
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Import Discovery and Scheduling Review Findings
|
||||
|
||||
Status: in progress; issues 1–3 complete, three findings remain.
|
||||
Status: in progress; issues 1–4 complete, two findings remain.
|
||||
|
||||
Reviewed implementation: `aa93aed..15943e2`, ending at
|
||||
`15943e233ca3cd1286c03c0e7085871db344cd4b`, against the accepted
|
||||
@@ -120,7 +120,7 @@ undergo their existing containment checks. Public directory/glob regressions
|
||||
cover ordinary and aliased roots plus escaping links. All four valid cases
|
||||
failed before the fix. The full everyday check passed.
|
||||
|
||||
## 4. [ ] P2 — Distinguish finite symlink reuse from actual cycles
|
||||
## 4. [x] P2 — Distinguish finite symlink reuse from actual cycles
|
||||
|
||||
Owners: [resolveHostImportPath and resolveNativeImportPath](../../internal/engine/filesystem_links.go),
|
||||
especially the `activeLinks` sets around lines 115–134 and 172–194.
|
||||
@@ -143,6 +143,13 @@ separate active-path directory-cycle rule. Add finite-reuse and real-loop
|
||||
regressions for host and link-aware native access; do not replace this defect
|
||||
with an arbitrary new link or path-depth restriction.
|
||||
|
||||
Completed: host and native resolvers now release active links when each target
|
||||
expansion completes, using explicit frames rather than retaining a whole-path
|
||||
visited set. Added resolver regressions for finite reuse, self loops, and mutual
|
||||
loops, plus public host/native directory/glob loading coverage. Finite cases
|
||||
failed before the change; all pass now alongside existing traversal-cycle and
|
||||
containment tests. The full everyday check passed; no new limit was added.
|
||||
|
||||
## 5. [ ] P2 — Validate the complete depth token before saturating its value
|
||||
|
||||
Owner: [parseImportDepth](../../internal/engine/import_spec.go), around lines
|
||||
|
||||
Reference in New Issue
Block a user