Skip to content

Lock in dependency semantics and redesign parser execution context #751

@dahlia

Description

@dahlia

Summary

This issue covers two closely related foundations for the #750 redesign:

  • locking in the target dependency semantics with a dedicated regression matrix
  • redesigning the parser execution model so parser-local state is separated from shared execution context

These two belong together because the execution-context redesign should be driven by explicitly agreed semantics, not by the incidental shape of the current implementation.

Scope

This issue should cover:

  • adding a regression matrix for dependency behavior across top-level parsing and shared-buffer constructs
  • locking in expected behavior for derive() and deriveFrom() in parse and suggest paths
  • covering wrapper combinations such as optional(), withDefault(), and map()
  • covering external resolution paths such as bindConfig(), bindEnv(), and prompt()
  • redesigning ParserContext so it can distinguish parser-local frame data from shared execution context
  • updating the Parser contract so complete() and shouldDeferCompletion() can receive execution context directly

Non-goals

This issue should not yet:

  • introduce the new dependency runtime
  • migrate object(), tuple(), concat(), or merge()
  • remove the old dependency-state protocol

Completion criteria

This issue is complete when:

  • the target dependency semantics are covered by a dedicated regression matrix
  • the new execution-context direction is encoded in internal types/interfaces
  • the parser contract is updated so later runtime work can build on it

Parent issue

Part of #750

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions