Skip to content

finding: readable position codes stopped at the demo seed — samples, action placeholders and docs still say plant_compliance_officer #120

Description

@os-warren

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

  1. 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.
  2. 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.
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions