Skip to content

Harden resolver reliability across edge cases - #84

Merged
DavidWells merged 6 commits into
masterfrom
feat/resolve-sls-stage
Oct 3, 2026
Merged

DavidWells merged 6 commits into
masterfrom
feat/resolve-sls-stage

Conversation

@DavidWells

@DavidWells DavidWells commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

Config loads could corrupt marker-looking user data, lose sync value types, resolve nested files from the wrong directory, or mix fallback/filter ownership. This change makes these cases preserve their intended values and gives cycles, deadlines and stalled resolution controlled errors.

  • Share expression parsing across preprocessing, runtime and inspection; preserve lazy fallbacks and foreign deployment expressions.
  • Keep internal records and text tokens private, preserve special own keys and Markdown frontmatter, and use typed sync transport.
  • Snapshot load settings/environment; add isolated dotenv and explicit executable-module cache policies; retain authored file origins and canonical path checks.
  • Report conservative static possibilities and actual runtime selections, and route diagnostics to stderr so CLI JSON and configx exports stay usable.
  • Add normal regressions, deterministic cross-feature coverage, bounded fuzz workers and contract documentation.

Includes the latest master changes for Serverless stage and AWS fallback handling, integrated with the shared parser. The four logical implementation commits are retained. CI also exposed a cached file-cycle bypass on canonical root paths; the follow-up fix checks current lineage before cache reuse and adds a direct regression. Shell-export checks run in sh everywhere and zsh where installed.

Validation

  • Monorepo typechecks and configorama declaration generation.
  • Full monorepo tests, including configx consumers.
  • Serverless stage, AWS fallback, passthrough/filter and deployment golden regressions.
  • Fresh fuzz run: 12 properties, 2,000 cases each.
  • All 12 original reliability failure probes passed during implementation.

Existing optional test skips remain; no new skipped or expected-failure cases were introduced. All 55 reliability plan beads are complete. Details and replay instructions are in packages/configorama/docs/testing/.

Add load-owned syntax and token contexts, private resolution records,
typed sync transport, traversal budgets, module graphs and path origins.

Keep these helpers separate from runtime integration so their contracts
can be reviewed directly. Include focused parser, path and codec tests.

Validation: staged-snapshot typecheck and focused utility tests.
Use shared expression parsing and load-owned records throughout resolution.
Preserve typed sync values, environment snapshots, module cache policies,
file origins and user keys while bounding cycles and stalled resolution.

Keep foreign expressions intact, report conservative static dependencies
and actual runtime selections, and send diagnostics to stderr.

Validation: monorepo tests and typechecks, declaration generation,
24,000 fresh fuzz cases, 12 baseline probes, and staged runtime checks.
Generate nested expressions across source, syntax, fallback, placement,
filter and metadata combinations. Require every pair in the deterministic
covering array and retain replayable seeds and shrink paths.

Run each property in an owned subprocess with a watchdog and completion
marker so blocking configurations cannot silently hang the suite.

Validation: staged-snapshot typecheck, five harness tests and all twelve
fixed-seed properties; the completed implementation also passed 24,000
fresh-seed cases.
Document load isolation, module policies, sync value support, file origins,
expression ownership, work limits and static versus runtime inspection.

Record the twelve-workstream plan, regression ownership, completed checks
and fresh-seed replay instructions. Update the verification receipt to
reflect the local logical commit series.
Preserve the latest Serverless stage and AWS fallback behavior alongside
resolver reliability changes. Use shared scanner spans to identify nested
excluded references and keep load-owned passthrough detection for filters.

Validation: monorepo typechecks, declaration generation and all package
tests; Serverless, AWS fallback and deployment golden tests pass.
Check cached file selections against the current origin lineage before
reusing their records. Canonical root paths now report circular file
references instead of exhausting the resolution pass budget.

Exercise canonical paths in cycle regressions and evaluate configx exports
with sh everywhere plus zsh where installed. Report shell spawn errors.

Validation: monorepo typechecks and declaration generation; focused cycle,
file-origin and diagnostic tests, including the cycle suite on Node 22.
@DavidWells
DavidWells merged commit e4e7ba0 into master Oct 3, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant