feat: compile controlled destination variables - #42
Merged
Conversation
tcballard
force-pushed
the
codex/issue-40-controlled-destinations
branch
from
August 2, 2026 13:05
54163a0 to
0d52dd6
Compare
tcballard
marked this pull request as ready for review
August 2, 2026 13:19
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
{merchant},{client},{project},{source-app},{year},{month}, and{year-month}YYYY/YYYY-MMrouting through the existing generation path, then attach the validated compiled-rule identity in Swift--reference-date YYYY-MM-DDso date-based live-evaluation expectations and model prompts can be reproduced after the corpus month has passedWhy
Plain-language plans could describe useful hierarchies such as
Receipts/{merchant}/{year}, but the runtime previously had no safe contract for resolving those placeholders. This keeps interpretation with the model while making rule identity, accepted values, normalization, and the final filesystem path deterministic Swift policy.The historical private corpus also embedded July date-folder expectations. Explicitly recording its reference date separates a real routing regression from the calendar simply moving into August.
Product impact
People can create merchant-, client-, project-, source-app-, and date-based folder hierarchies without literal placeholder folders or free-form model paths. Uncertain values remain visible for manual review. Existing fixed/date rules retain their prior behavior.
Validation
swift test— 86 tests passed--reference-date 2026-07-19) — PASS: 83.3% exact, 12/12 folders, 10/12 filenames, 12/12 tags, 2 expected abstentions, 0 generation/schema failures, and 0 unsafe/invalid decisionsCloses #40