Repository navigation
feat: add opt-in never-send brief regions for Jev dispatch - #17
Merged
Merged
Conversation
…ivacy preprocessing
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.
Intent
do all of hte proposed fork fixes (2026-09-29, answering the Jev value report data/fm-jev-value-scout/report.md section 5, 'Fork follow-up shortlist'). Goal stated with it: "The user is looking to maximize performance while minimizing cost. Jev seems like a massive lever." Jev is typesafe.ai's System One model; firstmate calls it only from bin/fm-dispatch-resolve.sh (typed dispatch resolution). Work lands on the fork MrGTV-love/firstmate only; never push to, open, or comment on anything in kunchenguid/firstmate.
This task covers shortlist item 4:
4. Define an opt-in never-send rule for project/customer-sensitive brief sections before Jev egress; do not use Vernant/customer text until authorized.
Context: config/dispatch-never-send today only blocks literal values. The Jev value report found TypeSafe's public terms do not prove Vernant's standard_confidential/v1 processor bar (delete inputs/outputs within 30 days, no training), so no real Vernant customer data may reach Jev.
What Changed
# dispatch-never-send marked-sectionsopt-in to strip explicitly marked private regions before task-section extraction or whole-brief fallback, leaving local briefs unchanged.Risk Assessment
✅ Low: The change is bounded to explicit resolver privacy preprocessing, preserves existing literal protection and local brief consumers, and implements the recorded fail-closed decisions without a substantiated material defect or unnecessary feature.
Testing
Live synthetic resolver checks demonstrated sanitized outgoing payloads and fail-closed refusal before transport or quota activity. Targeted resolver and brief tests passed after correcting a temporary-path setup issue. Captured payloads, CLI transcripts, inherited-policy behavior, and emitted help are preserved as evidence; no full suite, external model call, or other pipeline phase was run.
Evidence: Live resolver payloads and privacy assertions
Source: Live resolver payloads and privacy assertions
Evidence: Actual child-home inherited-policy execution
Source: Actual child-home inherited-policy execution
Evidence: Emitted brief-author help
Source: Emitted brief-author help
Evidence: Targeted resolver behavioral tests
Source: Targeted resolver behavioral tests
Evidence: Temporary-path failure diagnosis
Source: Temporary-path failure diagnosis
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
/bin/bash bin/fm-dispatch-resolve.sh <synthetic-brief> [--project synthetic-pager]with isolated FM_HOME configurations, covering section stripping, extraction and fallback, missing opt-in, malformed markers/directives, literals, and invalid policy paths.Executed real curl with--noproxy '*' --connect-to api.typesafe.ai:443:127.0.0.1:<private-port> --cacert <temporary-certificate>; captured actual HTTPS request bodies and verified withheld requests invoked neither curl nor quota-axi./bin/bash -c '. "$1" && propagate_inheritable_config "$2" "$3"' _ bin/fm-config-inherit-lib.sh <isolated-parent>/config <isolated-child>/config, followed by real resolver execution using the propagated child home./bin/bash bin/fm-brief.sh --helpand verification of its emitted canonical markers, required opt-in, and local-text retention guidance./bin/bash tests/fm-dispatch-resolve.test.sh— passed./bin/bash tests/fm-brief.test.sh— initially failed because the worktree-local TMPDIR introduced dot-leading components into a synthetic Git branch; diagnosed through the public brief CLI, then passed withTMPDIR=/tmp.Stopped the private HTTPS receivers and removed disposable worktree fixtures.✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.