Recorded while landing #117 (branch claude/issue-117-zh-demo-seed). Deliberately not fixed there — see "Why it was left" below.
Observation
#117 item 3 made duly_catalog_item.position_code readable in the demo seed: POSITIONS in src/data/demo-org.ts now yields Plant compliance officer / 厂区合规专员 instead of plant_compliance_officer. The seed is the only place that changed, so three other surfaces still carry the old snake_case spelling and now disagree with the demo an evaluator is looking at:
| Surface |
Occurrences |
What it is |
samples/catalog-items.csv |
21 rows |
The CSV an evaluator imports. README says it "describe[s] the same fictional manufacturer as pnpm demo" — and now it does not, in the one column both files share. |
src/actions/catalog.actions.ts |
2 |
placeholder: 'plant_compliance_officer' on duly_catalog_apply and duly_catalog_sync. The hint teaches a spelling the shipped demo no longer uses. |
src/translations/zh-CN.ts |
3 |
The same placeholder, mirrored, with a comment stating that position codes are data values and are not translated. |
docs/import/walkthrough.md |
— |
Not audited; it is a measured, screen-by-screen walk, so it may quote the codes too. |
Nothing is broken. position_code is free text matched verbatim, and test/import-samples.test.ts checks sample headers against the schema, not values — so the CSVs still import cleanly and produce 21 catalog items. The cost is that the import walkthrough and the demo now show a customer two different spellings of the same three positions.
Why it was left
Changing the two action placeholders drags in the zh-CN bundle: the bundle carries the same placeholder string, and leaving it would put plant_compliance_officer in front of a Chinese user beside a demo reading 厂区合规专员. #117's "not in this card" section excludes "any change to the objects, views or translations bundle", so touching the placeholders was out of its scope by construction. The samples CSV is a separate artefact with its own measured walkthrough, and re-measuring that walk is more than a rider on a data card.
What closing it would take
- Decide whether the samples should follow the demo at all — a customer's own catalog can legitimately be snake_case, and the samples are meant to look like a real export. "They should differ, and the README should say why" is a defensible answer and would close this without an edit.
- If they should follow: rewrite the
position_code column in samples/catalog-items.csv and samples/duties.csv (if it appears there), update the two placeholders with their zh-CN counterparts (厂区合规专员), and re-check docs/import/walkthrough.md against a real import.
- Keep
test/import-samples.test.ts green — it holds headers, not values, so it will not notice either way. If the samples are meant to track the demo, that agreement is worth a test of its own, since nothing currently observes it.
Filed unassigned for triage.
Recorded while landing #117 (branch
claude/issue-117-zh-demo-seed). Deliberately not fixed there — see "Why it was left" below.Observation
#117 item 3 made
duly_catalog_item.position_codereadable in the demo seed:POSITIONSinsrc/data/demo-org.tsnow yieldsPlant compliance officer/厂区合规专员instead ofplant_compliance_officer. The seed is the only place that changed, so three other surfaces still carry the old snake_case spelling and now disagree with the demo an evaluator is looking at:samples/catalog-items.csvpnpm demo" — and now it does not, in the one column both files share.src/actions/catalog.actions.tsplaceholder: 'plant_compliance_officer'onduly_catalog_applyandduly_catalog_sync. The hint teaches a spelling the shipped demo no longer uses.src/translations/zh-CN.tsdocs/import/walkthrough.mdNothing is broken.
position_codeis free text matched verbatim, andtest/import-samples.test.tschecks sample headers against the schema, not values — so the CSVs still import cleanly and produce 21 catalog items. The cost is that the import walkthrough and the demo now show a customer two different spellings of the same three positions.Why it was left
Changing the two action placeholders drags in the zh-CN bundle: the bundle carries the same placeholder string, and leaving it would put
plant_compliance_officerin front of a Chinese user beside a demo reading 厂区合规专员. #117's "not in this card" section excludes "any change to the objects, views or translations bundle", so touching the placeholders was out of its scope by construction. The samples CSV is a separate artefact with its own measured walkthrough, and re-measuring that walk is more than a rider on a data card.What closing it would take
position_codecolumn insamples/catalog-items.csvandsamples/duties.csv(if it appears there), update the two placeholders with their zh-CN counterparts (厂区合规专员), and re-checkdocs/import/walkthrough.mdagainst a real import.test/import-samples.test.tsgreen — it holds headers, not values, so it will not notice either way. If the samples are meant to track the demo, that agreement is worth a test of its own, since nothing currently observes it.Filed unassigned for triage.