uttrflow / uttrflow/uttrflow-swift
Add clean-up corpus cases for spoken email addresses, and for "at" that must stay a word
- Dominant language
- Swift
- Stars
- 4
- Forks
- 17
- Avg merge
- 4h 27m
- Merged PRs (30d)
- 286
Description
## What happens
`Sources/UttrflowEval/EvaluationCorpus.swift` has no case with an email address (no `@` anywhere in the file), so the gap in #569 is invisible to `make bakeoff` and to `RulesCorpusTests`.
## Why it matters
A rule for addresses changes ordinary "at" too. The cases have to exist before anyone writes the rule, so both sides are measured.
## Where to start
- Add cases to the `everyday` or `technical` array in `Sources/UttrflowEval/EvaluationCorpus.swift`, copying the shape of `actually-between-numbers` (`id`, `category`, `spoken`, `expected`, `mustKeep`, `mustNotAdd`). Use only `example.com` / `example.org` addresses and invented local parts.
- use: spoken `forward the logs to support at example dot com`, expected `Forward the logs to support@example.com.`
- use, recogniser-style: spoken `copy ops-team at mail.example.org on it`, expected `Copy ops-team@mail.example.org on it.`
- keep: spoken `look at example dot com for the details`, expected keeps "at" (decide whether "dot" should become "." here and write it down in the case's comment)
- keep: spoken `we met at the office at five`, expected unchanged apart from capital and stop
- Do **not** add the new ids to `RulesCorpusTests.rulesMustPass` (they fail today); the "keep" ones that already pass may be added.
- Run `swift test --filter RulesCorpusTests` and `make verify` (export `DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer` first). CONTRIBUTING.md has the rest.
## Acceptance criteria
- At least two "use" and two "keep" cases in the corpus, with invented `example.*` addresses only.
- Cases that pass on the rules today are listed in `rulesMustPass`; the rest are not.
- `make verify` passes.
**Size:** S, about 1–2 hours.
Contributor guide
Research direction
Start in Sources/UttrflowEval/EvaluationCorpus.swift and copy the case shape used by `actually-between-numbers` in the `everyday` or `technical` array. Add at least two email-address use cases and two keep cases, then run `swift test --filter RulesCorpusTests` and `make verify` with the specified DEVELOPER_DIR. Done means the corpus cases meet the example-domain and rulesMustPass requirements and verification passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- testing-qa
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 91/100