Live demo — data resets daily at 03:00 UTC. Nothing you enter is saved.

Trace

The engineering-lifecycle memory & traceability spine — follow the thread from intent to evidence, and back.

Projects
3 Active 3 With violations
All Projects →
Portfolio
18 Conflicts 0 Pending sign-offs
Portfolio Dashboard →
Component Library
3471 Components 0 Blocked
Component Library →
Audit Activity
0 Events (24h)
Audit Log →
Open Items
6 Feature requests 1 Bug reports
Open Items →
Connect your AI assistant to Trace

Select your AI client below for setup instructions.

Run this command once in your terminal to register Trace with Claude CLI:

mcp add --transport http trace http://demo.esharp.se:8004/mcp
Trace 0.127.0

Recent releases

0.127.0 2026-06-18

Component search by property — FR #21 (Please 0.127.0, MCP 0.87.0). trace_component_search (and GET /api/please/components) gains propsKey + optional propsValue: find components carrying a given property (e.g. propsKey='CountryOfOrigin'), optionally constrained to a value, instead of fetching all 3000+ to inspect their props. Key/value match is case-insensitive. Props is a value-converted jsonb dictionary EF can't translate, so the filter narrows at the DB then matches in memory before paginating (the library is bounded).

0.126.0 2026-06-15

Search labels — free-text, colour-coded tags you can stack onto projects, with a quick-filter bar on the project list (Please 0.126.0, Dashboard 1.78.0). Orthogonal to disciplines: labels carry no capability/logic weight (they never gate UI or tools); they only organise and filter.

  • New please.label (global, reusable) + please.project_label (many-to-many join) tables; a project can hold several labels.
  • API: GET/POST/PUT/DELETE /api/please/labels (catalogue CRUD; create is idempotent on name, case-insensitive) and POST / DELETE /api/please/projects/{id}/labels (assign / unassign). Project list + detail read models now carry a labels[] array. All writes audited (entityType label / project_label).
  • Dashboard: assigned-label chips + an "+ Label" picker (add an existing label or create a new one with a colour from a curated palette) on the project header; a clickable label quick-filter bar on the project list (AND across selected labels) plus label chips on each project card; and a label manager at /trace/labels (Trace nav → Labels) to create, rename, recolour, and delete labels globally.
0.125.0 2026-06-15

Licensing usage logging — honest recording + Probe-scope attribution (Please 0.125.0, Orchestra 1.6.0, Licensing 0.5.0). Fixes the two reasons Probe usage never showed on /admin/usage:

  • ILicenseUsageStore.Record now returns booltrue when the identity was counted, false when skipped (blank or a non-billable service account like probe@esharp.se). LicenseController.Checkout returns the real result instead of a hardcoded recorded: true, so a distributed MCP (incl. Probe) can tell its usage actually landed rather than being silently dropped.
  • Probe-originated Trace writes meter against the Probe seat. CallerValidator.AuditSource recognises an X-Probe request header (→ source "probe", mirroring X-Mcp-Tool"mcp"), and AuditEventService routes source="probe" writes to UsageScope.Probe instead of UsageScope.Please. Trace writes from the Probe app no longer mis-count as Trace seats, and (with a real caller email) now register Probe usage.

Note: Probe's own board-review users are still metered inside the external Probe service per Docs/LICENSING.md; this repo records Probe activity that flows through Trace and provides the honest checkout seam. The Probe app must send the human caller's email (not probe@esharp.se) for a seat to count.