uttrflow / uttrflow/uttrflow-swift

Add clean-up corpus cases for spoken email addresses, and for "at" that must stay a word

Open Beginner friendly
#572 0 comments 0 reactions 0 assignees View on GitHub
area:dictation enhancement good first issue P2
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.