feat(skills): add episodic problem-framing job to the Data Workstream Coach - #2748
Open
Bill Berry (WilliamBerryiii) wants to merge 5 commits into
Open
feat(skills): add episodic problem-framing job to the Data Workstream Coach#2748Bill Berry (WilliamBerryiii) wants to merge 5 commits into
Bill Berry (WilliamBerryiii) wants to merge 5 commits into
Conversation
… Coach - extend experiment-design with a cited problem-class framing procedure - register problem-framing in the job registry and session-state schema - attribute Google CC BY 4.0 sources and keep NEOS citation-only - add one expectation and a two-case behavior stimulus 🧭 - Generated by Copilot
…tifiers - set compound SPDX identifiers on five mixed-content skills - add a per-file license allocation table to each skill - require the compound-plus-allocation pattern in licensing posture 🔏 - Generated by Copilot
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2748 +/- ##
==========================================
- Coverage 83.16% 82.96% -0.20%
==========================================
Files 180 181 +1
Lines 32168 32698 +530
Branches 25 25
==========================================
+ Hits 26751 27127 +376
- Misses 5414 5568 +154
Partials 3 3
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Contributor
Eval Execution✅ Status: Passed — no merge-blocking failures (75 advisory assertion failure(s) present)
|
…spell The grader patterns use truncated stems so one alternation matches several word forms. Spell check read them as misspellings. 🔤 - Generated by Copilot
- add an advisory knowledge stimulus modelled on skill-vex-knowledge - close a pre-existing coverage gap the licensing change exposed - unblock the Eval Execute stimulus-presence gate 🧪 - Generated by Copilot
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.
Description
The Data Workstream Coach could route a data scientist to feasibility, experiments, pipelines, and evaluation, but nothing owned the step before all of them: deciding what kind of data-science problem a stated business outcome actually is. A practitioner arriving with "we want to reduce churn" had no job to select. This PR closes that gap by extending capability that already exists rather than adding an eighth skill.
experiment-designnow owns a second, clearly separated procedure. Problem-class framing takes a stated business outcome, applies a per-paradigm entry test to nine candidate problem classes, orders the unresolved questions by how many candidates each answer eliminates, and returns the surviving candidates with the reasoning that kept or discarded each one. It never selects, ranks, scores, or confidence-thresholds a candidate, because the data scientist is the subject-matter expert making that call.Source treatment is deliberately layered and visible in the output. Machine-learning entry tests are paraphrased and reorganized from two Google for Developers pages licensed CC BY 4.0, with both URLs cited and the changes stated in
THIRD-PARTY-NOTICES. The NEOS Guide reserves rights, so it is cited as further reading only and the procedure states no optimization classification of its own. Everything else, including cross-paradigm routing and the broader "is this even a modelling problem" judgement, is repository-original. Every claim carries a[G],[O], or[A]label so a practitioner can see which is which.A second, unrelated commit corrects a licensing accuracy problem found while writing the attribution above. Five skills declared
license: mixed, which is not an SPDX identifier and tells a consumer nothing.references/problem-framing.mdtoexperiment-designwith a source block, provenance labels, a single pre-analysis stop, a six-step procedure, nine candidate problem classes with entry tests, a coordinator-ready gap contract, an output contract, and an explicit never-does list.experiment-designcontract so the Goal, Inputs, reference index, success criteria, constraints, ownership boundaries, stop rules, and attribution all admit problem-class framing while leaving the experiment workflow untouched. A confirmed framing request reads one file; experiment requests continue to readmve-coaching.mdorexperiment-readiness.md.problem-framingin the Data Workstream job registry asepisodic, routing toexperiment-designwith no supporting route, disambiguated it from the existingexperimentjob, and recorded two completion shapes so an unstated outcome completes as real work rather thandiscarded-cleanly.problem-framingjob slot. The state protocol requires thejobskey set to equal the registry identifiers and stops on mismatch, so registering the job without its slot would have halted every Data Workstream session rather than just framing.experiment-designcapability statements in the Data Workstream Coach so aproblem-framingroute announcement is accurate. No framing procedure, entry test, or job enumeration was imported into the agent; it stays a thin coordinator.problem-framing-job-contractexpectation and one comparative two-case stimulus. Case A withholds the business outcome and must stop with an assigned gap; Case B supplies an outcome but leaves a high-power question unresolved and must elicit, mark unknown, continue, and select nothing. Nine independent graders cover both branches, including a narrow negative grader that fails only when the response turns the missing outcome into an experiment subject.THIRD-PARTY-NOTICESwith the license URI, both source URLs, the exact usage scope, and a statement of changes.license: mixedon five skills with compound SPDX expressions and gave each a per-file license allocation table.vexisApache-2.0 AND CC-BY-4.0,privacy-standardsisCC-BY-4.0 AND CC-BY-SA-3.0,functional-plannerisCC-BY-4.0 AND CC-BY-SA-4.0,c4-architectureisCC-BY-4.0 AND MIT, andrai-standardsresolves to plainCC-BY-4.0because its sources are public-domain or paraphrase-only and add no term.ANDis the redistributor conjunction rather than a per-file claim, and removed the contradictory checklist bullet that still requiredlicense: mixed.Related Issue(s)
Closes #2747
Related to #1543
Type of Change
Select all that apply:
Code & Documentation:
Infrastructure & Configuration:
AI Artifacts:
hve-builderand addressed all actionable findings.github/instructions/*.instructions.md).github/prompts/*.prompt.md).github/agents/*.agent.md).github/skills/*/SKILL.md).github/hooks/*/*.json)evals/)Other:
.ps1,.sh,.py)Sample Prompts (for AI Artifact Contributions)
User Request:
Start a Data Workstream Coach session, then select the new job when it is offered:
Execution Flow:
data-workstream-foundationand presents the job list fromreferences/job-registry.md.problem-framingappears as anepisodicjob routing toexperiment-design. Nothing activates until the user confirms.experiment-design. Its reference index sends a confirmed framing request toreferences/problem-framing.mdand to nothing else, so experiment vetting criteria and MVE fallbacks never load.unknownonly after elicitation fails. An unanswered question never terminates the run.Output Artifacts:
A chat-rendered framing result. The framing procedure itself writes no durable file. The shape is:
Success Indicators:
experiment-designas the owner and the invocation as episodic.[G],[O], or[A]label, and no claim implies that an external standard adjudicates across paradigms.Testing
Automated validation run on this branch after rebasing onto
origin/main. Each command was run independently so a late failure could not hide behind a chained exit.npm run docs:generate:checknpm run validate:skillsnpm run lint:frontmatternpm run lint:tablesnpm run plugin:validatescripts/evals/Build-AgentBehaviorSpec.ps1 -WhatIfno driftscripts/evals/Test-EvalSpec.ps1npm run lint:md-linksci:eval:run:agentsDiff-based and manual assessments performed:
Checklist
Required Checks
AI Artifact Contributions
hve-builderreview mode to review contributionhve-builderreviewRequired Local Checks
The following local-safe validation commands must pass before merging:
npm run validate:localnpm run validate:docsnpm run spell-checknpm run lint:md-linksSecurity Considerations
scripts/security/changed)Additional Notes
On the licensing commit. It is genuinely unrelated to the framing capability and is kept as a separate commit for that reason. It was found while writing the attribution for the new Google sources:
license: mixedis not an SPDX identifier, and the frontmatter schema documents that field as one. The schema currently accepts any 1–128 character string, which is how the placeholder spread to five skills. Tightening that schema to an enum is worth a follow-up but is not attempted here.On scope discipline. The capability was deliberately built into an existing skill. No eighth Data Workstream skill was added, the seven-skill boundary contract and its expectation are untouched,
plugin.jsonis unchanged, and no new instruction file, schema, validator, dependency, or feasibility-profile version was introduced.Known residual items.
Seven-skill boundariescapability column in the job registry still describesexperiment-designin experiment-only terms. Editing that table would touch theseven-skill-boundariesexpectation, so it was intentionally left for the existing count-free-naming follow-up.THIRD-PARTY-NOTICEScarries no retrieval dates for any entry, which matches its existing convention. Retrieval dates for the new sources are recorded in the research evidence instead.🧭 - Generated by Copilot