Skip to content

refactor: rename public dashboard to My Tula; reserve My Aria for the commercial product - #6

Merged
cursor[bot] merged 3 commits into
mainfrom
cursor/my-tula-rename-1b21
Oct 17, 2026
Merged

cursor[bot] merged 3 commits into
mainfrom
cursor/my-tula-rename-1b21

Conversation

@pswider

@pswider pswider commented Oct 17, 2026

Copy link
Copy Markdown
Collaborator

Renames the open-source single-user dashboard from My Aria to My Tula (apps/my-aria/ to apps/my-tula/) and defines three distinct products:

Name What it is License
Tula Personal health agent, its skills, and the My Tula dashboard, single user, self-hosted Apache-2.0, public
My Aria The patient's agent and app, issued and governed by a healthcare organization Commercial
Aria The platform behind My Aria: Patient Swarm runtime, identity, audit, EHR integration, governance Commercial

Why: "My Aria" on a free public app weakens the name for the product RealActivity sells. Keeping each name on one product makes the trademark protect the commercial side and keeps the open side clearly free.

Changes

  • git mv of the app so history follows. Package name, page title, header wordmark, disclaimer copy, log prefix, sidebar storage key, and screenshot script all say My Tula.
  • Screenshots regenerated from the production build with synthetic fixtures (1440x900, dark, full page).
  • prep-my-visit PDF wordmark renders "My Tula".
  • Tenant cloud-init-template.yaml writes .env.local to apps/my-tula/. deprovision.sh clears both the old and new screenshot directories.
  • OPEN_CORE.md, TRADEMARK.md, README.md, docs/aria-commercial-platform.md describe the three-name structure. Trademark policy now names My Tula and My Aria explicitly.
  • Draft articles (both status: draft) use My Tula, and the "Three names" section in the portal article explains My Aria and Aria as the commercial side.
  • Dated history entries (roadmap, demo video, dashboard plan) note the earlier name, so they stay accurate.

My Tula dashboard

Verification

  • npm ci, npm run typecheck, npm run build in apps/my-tula/ pass.
  • Production server with TULA_USE_FIXTURES=1: /dashboard, /home-devices, /sdoh/ai-chats return 200 and render "My Tula". The only console error is a missing favicon, also present on main.
  • python3 -m py_compile on render_visit_brief.py, bash -n on deprovision.sh.
  • ASCII check is clean on every line added. docs/dashboard-build-plan.md already contained non-ASCII dashes and arrows on main; left untouched.
  • waza check was not run (Waza is not installed in this environment). The skill change is two strings and comments.

Needs a human

  • Live VM: after git pull, the systemd unit my-aria.service still points at apps/my-aria/. Follow "Upgrading a running deployment" in apps/my-tula/README.md (copy .env.local, build, repoint WorkingDirectory, restart). The dashboard on port 3002 stays down until this is done.
  • Saved sidebar state resets once in the browser because the storage key changed.
  • Trademark clearance for "My Tula", "Aria", and "My Aria" in healthcare software before marketing use.
  • Already-published copies of the articles or demo video outside this repo still say My Aria.

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

cursoragent and others added 2 commits October 17, 2026 16:46
"My Aria" now names RealActivity's commercial patient agent and app on
Aria. The open-source single-user dashboard moves to apps/my-tula/ under
a Tula name so free and paid products stay distinct. The visit-brief
wordmark, tenant cloud-init path, screenshots, and draft articles follow
the new name; the README documents the VM upgrade for the moved directory.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Paul J. Swider <pswider@realactivity.com>
Tula is the open personal agent with the My Tula dashboard, My Aria is
the hospital-issued patient agent and app, and Aria is the platform
behind it. Trademark policy now reserves My Tula and My Aria explicitly.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Paul J. Swider <pswider@realactivity.com>
@github-actions

Copy link
Copy Markdown
Contributor

Eval status updated for this PR

Preview of docs/evals.md after this PR merges:

Skill Evaluation Status

Continuous evaluation status for Tula skills. This page is regenerated
automatically by scripts/generate-eval-status.sh on every CI run that
touches skills/ or evals/. Static analysis (compliance, spec
checks, token budgets) is fresh on every run; live eval results come
from manually-published runs in results/.

Powered by Microsoft Waza. Standard:
Patient Agent Eval Standard v0.1.

Skill Tasks Mock CI Compliance Spec Tokens Last live run
epic-note 6 yes Medium-High 9/9 ✓ 821 / 500 ⚠ -
health-records 8 yes Medium-High 9/9 ✓ 1410 / 500 ⚠ -
lookout 9 yes Medium-High 9/9 ✓ 1577 / 500 ⚠ -
med-pdf 8 yes Medium-High 9/9 ✓ 930 / 500 ⚠ -
memory-diff 7 yes Medium-High 9/9 ✓ 1183 / 500 ⚠ -
myhealth-pulse 6 yes Medium-High 9/9 ✓ 1176 / 500 ⚠ -
prep-my-visit 16 yes Medium-High 9/9 ✓ 457 / 500 ✓ -
request-amendment 12 yes Medium-High 9/9 ✓ 990 / 500 ⚠ -
composition 6 yes - - - -

What this measures

  • Tasks - count of YAML tasks in evals/<skill>/tasks/ (including golden/).
  • Mock CI - yes when eval.mock.yaml exists (structural gate on every PR).
  • Compliance - Waza's agentskills.io readiness score
    (High / Medium-High / Medium / Low). Medium-High or better
    is the house target.
  • Spec - count of agentskills.io spec checks the skill passes
    (spec-frontmatter, spec-name, spec-allowed-fields, and so on).
    9/9 is full pass.
  • Tokens - total tokens in SKILL.md against Waza's 500-token soft
    limit. Tula's house style accepts a higher count when openclaw
    fidelity would suffer (per skills/AGENTS.md's "Token Discipline"
    section). ⚠ marks "exceeds the soft cap but intentional"; ✓ marks
    "within budget."
  • Last live run - most recent waza run output published in
    results/. Cells show pass rate, run date, and model used (e.g.,
    5/5 ✓ (2026-05-17, sonnet-4.6)). Live eval execution requires
    executor: copilot-sdk plus model auth, so it is a deliberate
    publish today rather than a per-PR CI run. Raw run outputs stay
    private; only the pass-rate summary surfaces here.

What this does NOT measure

  • The model's actual answer quality. Evals check task-completion
    signals (output shape, presence/absence of keywords, routing
    behavior, schema validity), not clinical correctness.
  • Production behavior under PHI. All evals run against synthetic
    personas. See evals/*/fixtures/ for the test data.
  • Anything inside Aria's closed governance layer - multi-tenant
    isolation, audit emission, cross-actor coordination - which is
    evaluated separately under hospital-scale fixtures.

See also

…-1b21

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

# Conflicts:
#	README.md
#	docs/roadmap.md

Co-authored-by: Paul J. Swider <pswider@realactivity.com>
@github-actions

Copy link
Copy Markdown
Contributor

Eval status updated for this PR

Preview of docs/evals.md after this PR merges:

Skill Evaluation Status

Continuous evaluation status for Tula skills. This page is regenerated
automatically by scripts/generate-eval-status.sh on every CI run that
touches skills/ or evals/. Static analysis (compliance, spec
checks, token budgets) is fresh on every run; live eval results come
from manually-published runs in results/.

Powered by Microsoft Waza. Standard:
Patient Agent Eval Standard v0.1.

Skill Tasks Mock CI Compliance Spec Tokens Last live run
epic-note 6 yes Medium-High 9/9 ✓ 821 / 500 ⚠ -
health-records 8 yes Medium-High 9/9 ✓ 1410 / 500 ⚠ -
lookout 9 yes Medium-High 9/9 ✓ 1577 / 500 ⚠ -
med-pdf 8 yes Medium-High 9/9 ✓ 930 / 500 ⚠ -
memory-diff 7 yes Medium-High 9/9 ✓ 1183 / 500 ⚠ -
myhealth-pulse 6 yes Medium-High 9/9 ✓ 1176 / 500 ⚠ -
prep-my-visit 16 yes Medium-High 9/9 ✓ 457 / 500 ✓ -
request-amendment 12 yes Medium-High 9/9 ✓ 990 / 500 ⚠ -
composition 6 yes - - - -

What this measures

  • Tasks - count of YAML tasks in evals/<skill>/tasks/ (including golden/).
  • Mock CI - yes when eval.mock.yaml exists (structural gate on every PR).
  • Compliance - Waza's agentskills.io readiness score
    (High / Medium-High / Medium / Low). Medium-High or better
    is the house target.
  • Spec - count of agentskills.io spec checks the skill passes
    (spec-frontmatter, spec-name, spec-allowed-fields, and so on).
    9/9 is full pass.
  • Tokens - total tokens in SKILL.md against Waza's 500-token soft
    limit. Tula's house style accepts a higher count when openclaw
    fidelity would suffer (per skills/AGENTS.md's "Token Discipline"
    section). ⚠ marks "exceeds the soft cap but intentional"; ✓ marks
    "within budget."
  • Last live run - most recent waza run output published in
    results/. Cells show pass rate, run date, and model used (e.g.,
    5/5 ✓ (2026-05-17, sonnet-4.6)). Live eval execution requires
    executor: copilot-sdk plus model auth, so it is a deliberate
    publish today rather than a per-PR CI run. Raw run outputs stay
    private; only the pass-rate summary surfaces here.

What this does NOT measure

  • The model's actual answer quality. Evals check task-completion
    signals (output shape, presence/absence of keywords, routing
    behavior, schema validity), not clinical correctness.
  • Production behavior under PHI. All evals run against synthetic
    personas. See evals/*/fixtures/ for the test data.
  • Anything inside Aria's closed governance layer - multi-tenant
    isolation, audit emission, cross-actor coordination - which is
    evaluated separately under hospital-scale fixtures.

See also

@cursor
cursor Bot merged commit ffa29cf into main Oct 17, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants