fix(process-mining): grade the real add-table verb and fix required tags - #2545
fix(process-mining): grade the real add-table verb and fix required tags#2545Cellcote wants to merge 1 commit into
Conversation
`skill-pm-add-table-queryable` required `uip pm apps model add-table`, which is not a verb — the CLI has `uip pm apps data-model add-table` (`apps model` is the semantic model: fields/get/update). The eval therefore rewarded a hallucinated verb and penalised agents that followed the skill: on 2026-08-05 the agent typed the wrong verb, errored, retried correctly, and scored 1.0; on 2026-08-10 it went straight to the correct verb and scored 0.778 FAILURE. That 3.0-weight criterion was the entire delta between the two runs. Tags: all six process-mining tasks now carry the required `skill` + `tier` + `mode:*` + `lifecycle:*` from the closed vocabularies in tests/README.md. `mode:fix`, `lifecycle:extend` and `lifecycle:maintain` were outside them and `tier` was missing on four tasks, so those tasks were invisible to `make` targets, coverage reports and evalboard drilldown. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Claude finished @Cellcote's task in 2m 27s —— View job PR Review: fix(process-mining): grade the real add-table verb and fix required tags
SummaryFixes a wrong CLI verb in the Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | N/A | No SKILL.md changes |
| E2E Tests | OK | Existing custom_app_pipeline_e2e.yaml provides e2e coverage; smoke coverage via app_types_discovery_smoke and now query_group_by_sugar |
| Skill Body | N/A | No skill content changes |
| References & Assets | N/A | No changes |
| Repo Hygiene | OK | No secrets, no cross-skill refs, changes scoped to the affected task YAMLs |
Issues for Manual Review
- Watch the next nightly for
skill-pm-add-table-queryable. The PR description notes this task should move from 0.778 → 1.0 now that the regex matches the correct verb. Confirm on the next run. mode:diagnosefor repair tasks — the PR follows the precedent fromuipath-api-workflow/diagnose/runtime_fix. This is a reasonable interpretation ("here is an error, fix it" = diagnosis), but worth confirming the team is aligned sincemode:buildcould also apply to tasks that construct corrective commands.
Conclusion
Clean PR. The verb fix is verified against the catalog, the tag corrections all map to valid taxonomy values, and the rationale for each tag choice is sound. Approve.
|
Claude finished @Cellcote's task in 3m 13s —— View job Coder-eval task lint (advisory)5 task YAMLs changed; verdict counts: 0 Critical, 0 High, 0 Medium, 0 Low, 5 OK. Rubric: .claude/commands/lint-task.md. This check is advisory and never blocks merge. Evidence of passing run
The author explicitly documents why a re-run wasn't done and identifies which task to watch. The rationale is reasonable — regex and tag changes don't alter agent behavior — and the PR defers verification to the next nightly. Accepting the claim. Per-task lint
|
Passing-run claimRan locally with Same task, same agent, on Full process-mining set in the same run: 10/11 SUCCESS. All other tasks touched by this PR (tags only) scored 1.000:
Caveat: the local run used |
Split out of #2544 (part 1 of 2). The linter change that would have caught this
is in the companion PR; this one is the eval-set fix on its own.
Why
The process-mining eval set looked flaky across the two most recent nightly runs
(2026-08-05,
2026-08-10).
It wasn't flake. Only 2 of 6 tasks moved, each by exactly one criterion:
skill-pm-add-table-queryableskill-pm-custom-app-pipeline-e2e1.
skill-pm-add-table-queryablegraded a verb that doesn't existThe 3.0-weight criterion required
uip pm apps model add-table. The catalog hasuip pm apps data-model add-table;apps modelis the semantic model(
fields/get/update) and has noadd-tablechild. The skill teaches thecorrect verb in both
SKILL.md(Rule 1) andreferences/data-model.md.So the eval rewarded a hallucinated verb and penalised agents that followed the
skill:
apps model add-table, it errored, it retried withapps data-model add-table. The regex matched the failed attempt → passed.0.778, FAILURE.
The green run was the wrong result. Fixed to
apps\s+data-model\s+add-table,and the same correction applied to the task description.
2. Tag hygiene
Five of six tasks were missing required tags or using values outside the closed
vocabularies in
tests/README.md§Tag Taxonomy (mode:fix,lifecycle:extend,lifecycle:maintainare not valid;tierwas absent on four). Those tasks wereinvisible to
maketargets, coverage reports and evalboard drilldown.add_table_queryablemode:build, lifecycle:extendintegration, mode:build, lifecycle:setupapp_types_discovery_smokesmoke, mode:diagnose, discoversmoke, mode:diagnose, lifecycle:discovermapping_fix_in_placemode:fix, lifecycle:maintainintegration, mode:diagnose, lifecycle:setupquery_group_by_sugarmode:diagnosesmoke, mode:diagnose, lifecycle:discovertransform_fix_apply_not_reingestmode:fix, lifecycle:maintainintegration, mode:diagnose, lifecycle:setupThe two repair tasks follow the precedent set by
uipath-api-workflow/diagnose/runtime_fix(mode:diagnosefor "here is anerror, fix it"), with
lifecycle:setupbecause they mutate tenant state. Thebare
discovertag duplicatinglifecycle:discoverwas dropped.custom_app_pipeline_e2ewas already correct.Verification
Verified statically against the
uipcatalog (1.200.0-dev.8173): the correctedverb
pm apps data-model add-tableis present, the old one is not.Passing-run claim: the tasks were not re-run against a tenant for this PR —
the change is to a grader regex and to tags, neither of which alters agent
behaviour.
skill-pm-add-table-queryableshould be watched on the next nightly;it is the one whose score this moves (0.778 → expected 1.0).
Not addressed here
From the same investigation, deliberately out of scope:
gemini-3.5-flashonuip8093;08-10 ran
gpt-5.6-terraon 8173, andmapping_fix_in_placegained twocriteria in between. With one replicate per task, a single criterion flips
the whole task. Pin the model or run ≥3 replicates before calling anything flaky.
custom_app_pipeline_e2e's "inspect the transformations" criterion isincidental to the task goal and cost the 08-05 run a FAILURE for no behavioural
reason — drop it or make it advisory (
pass_threshold: 0).🤖 Generated with Claude Code