P2 part A (app, home and nav) of the qbit-crm 0.2.0 design:
One crm app.
The Main section has contacts, companies, deals, activities, Web Leads and Lists. The Settings section has the 15 settings tables.
Sub-tables and processes are never in the nav.
withAppEnabled(false) lets a host embed the tables in its own app instead.
Real-data home. It uses standard widgets only (no HTML, G5), each a full-width table of 3 columns or fewer whose rows link to records. Queries run with the session, so locks apply, and aggregate in the database.
Today: statistics
Pipeline by stage
Forecast
Needs attention (rotting deals)
Recent web leads
Goals (only when goals exist)
Leaderboard
Contact Timeline: a record widget on contacts.
Child lists on contact, company, deal, pipeline, sequence, list, assignment rule and activity.
Retired the 0.1.0 trend widgets (win rate, stage duration, cycle length, conversion, average deal size, activity count and feed, recent deals). Trend reports move to data analysis, per the design.
## Summary
P2 part A (app, home and nav) of the qbit-crm 0.2.0 design:
- **One `crm` app.**
- The Main section has contacts, companies, deals, activities, Web Leads and Lists. The Settings section has the 15 settings tables.
- Sub-tables and processes are never in the nav.
- `withAppEnabled(false)` lets a host embed the tables in its own app instead.
- **Real-data home.** It uses standard widgets only (no HTML, G5), each a full-width table of 3 columns or fewer whose rows link to records. Queries run with the session, so locks apply, and aggregate in the database.
- Today: statistics
- Pipeline by stage
- Forecast
- Needs attention (rotting deals)
- Recent web leads
- Goals (only when goals exist)
- Leaderboard
- **Contact Timeline:** a record widget on contacts.
- **Child lists** on contact, company, deal, pipeline, sequence, list, assignment rule and activity.
- **Retired** the 0.1.0 trend widgets (win rate, stage duration, cycle length, conversion, average deal size, activity count and feed, recent deals). Trend reports move to data analysis, per the design.
Codex implemented this; Claude reviewed it.
## Test plan
- [x] `./mvnw verify`: 343 tests, 0 failures; checkstyle and guardrails pass; JaCoCo 90.7%
- [x] App sections contain exactly the main and settings tables, with no processes; home numbers checked against seeded data; child-list joins resolve
🤖 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
P2 part A (app, home and nav) of the qbit-crm 0.2.0 design:
crmapp.withAppEnabled(false)lets a host embed the tables in its own app instead.Codex implemented this; Claude reviewed it.
Test plan
./mvnw verify: 343 tests, 0 failures; checkstyle and guardrails pass; JaCoCo 90.7%🤖 Generated with Claude Code