This is the authoring experience for QQQ in-app help. Core keeps storage, targeting, search and coverage (QRun-IO/qqq#1177); this qbit adds no tables and authors core's helpContent, a documented pre-standard naming exception.
Help app home:
coverage totals per kind;
a full-width list of objects missing help, each with an "Add help" link that prefills the key;
recent changes.
All three are typed widgets (no HTML).
Actions on helpContent, run as standard streamed ETL with Review/Result lines:
"Preview help" renders the record's help through the standard step help renderer, using a runtime frontend-step adjustment.
"Apply help changes now" runs the core reload.
"Check help keys" validates keys against core's target catalog.
Bulk edit, import and export use QQQ's standard table features.
Permissions:
viewers get help.read and help.hasAccess;
authors also get help.insert, help.edit, help.delete and help.author.hasAccess.
Pinned to QQQ 4.1.0-RC.7, which carries qqq#1177 and #1198. The review surface (upstream-changed, retired and stale keys, per-bundle coverage) uses core's Sync, Accept upstream and Keep mine actions.
## Summary
This is the authoring experience for QQQ in-app help. Core keeps storage, targeting, search and coverage (QRun-IO/qqq#1177); this qbit adds no tables and authors core's `helpContent`, a documented pre-standard naming exception.
- **Help app home**:
- coverage totals per kind;
- a full-width list of objects missing help, each with an "Add help" link that prefills the key;
- recent changes.
All three are typed widgets (no HTML).
- **Actions on `helpContent`**, run as standard streamed ETL with Review/Result lines:
- "Preview help" renders the record's help through the standard step help renderer, using a runtime frontend-step adjustment.
- "Apply help changes now" runs the core reload.
- "Check help keys" validates keys against core's target catalog.
- Bulk edit, import and export use QQQ's standard table features.
- **Permissions:**
- viewers get `help.read` and `help.hasAccess`;
- authors also get `help.insert`, `help.edit`, `help.delete` and `help.author.hasAccess`.
**Pinned** to QQQ 4.1.0-RC.7, which carries qqq#1177 and #1198. The review surface (upstream-changed, retired and stale keys, per-bundle coverage) uses core's Sync, Accept upstream and Keep mine actions.
## Test plan
- [x] `mvnw -o verify` passes locally: 19 tests, checkstyle clean, coverage 98.5% instructions and 100% classes.
- [ ] CI once pinned to the RC.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
This is the authoring experience for QQQ in-app help. Core keeps storage, targeting, search and coverage (QRun-IO/qqq#1177); this qbit adds no tables and authors core's
helpContent, a documented pre-standard naming exception.Help app home:
All three are typed widgets (no HTML).
Actions on
helpContent, run as standard streamed ETL with Review/Result lines:Bulk edit, import and export use QQQ's standard table features.
Permissions:
help.readandhelp.hasAccess;help.insert,help.edit,help.deleteandhelp.author.hasAccess.Pinned to QQQ 4.1.0-RC.7, which carries qqq#1177 and #1198. The review surface (upstream-changed, retired and stale keys, per-bundle coverage) uses core's Sync, Accept upstream and Keep mine actions.
Test plan
mvnw -o verifypasses locally: 19 tests, checkstyle clean, coverage 98.5% instructions and 100% classes.🤖 Generated with Claude Code