Skip to content

feat(resources): Partner shell (/partner/) + application-partner-perspectives extension point#6270

Merged
delchev merged 1 commit into
masterfrom
feat/partner-shell
Jul 12, 2026
Merged

feat(resources): Partner shell (/partner/) + application-partner-perspectives extension point#6270
delchev merged 1 commit into
masterfrom
feat/partner-shell

Conversation

@delchev

@delchev delchev commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

A third Harmonia shell for external partners (customers, distributors, suppliers), mirroring the shipped My shell: a resources-partner module serving /services/web/partner/, reusing the shared application-core/shell runtime, aggregating a new application-partner-perspectives extension point.

The separation is the safety property. Each shell fetches exactly one extension point, so a perspective appears in the Partner portal iff it explicitly registers on application-partner-perspectives. A personal (my) or application perspective can never leak in - it is never even fetched. A UI meant for both registers on both points, deliberately. The distinct URI also makes partner access a single entry-point authz decision.

Container only - partner-scoping of data, external auth, and partner writes are follow-ups.

Verified on a running instance: /services/web/partner/ serves; the partner perspectives service returns only the empty partner group; the personal service is unchanged and disjoint (My Expenses/Vacations/Timesheets stay in /my/); Partner is listed in platform-shells.

🤖 Generated with Claude Code

…-partner-perspectives

A third Harmonia shell for external partners (customers, distributors, suppliers),
mirroring the My shell: a resources-partner module serving /services/web/partner/,
reusing the shared application-core/shell runtime. It aggregates ONLY the new
application-partner-perspectives extension point.

The separation is the safety property: each shell fetches exactly one extension
point, so a perspective appears in the Partner portal iff it explicitly registers
on application-partner-perspectives. A personal (my) or application perspective can
never leak in - it is never even fetched. A UI meant for both shells registers on
both points, deliberately. The separate URI also makes access a single entry-point
authz decision.

This is the container only: partner-scoping of data, external auth, and partner
writes are follow-ups. Verified: /services/web/partner/ serves; the partner
perspectives service returns only the 'partner' group; the personal service is
unchanged (My Expenses/Vacations/Timesheets), disjoint; Partner is listed in
platform-shells.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@delchev delchev merged commit 8486f32 into master Jul 12, 2026
10 checks passed
@delchev delchev deleted the feat/partner-shell branch July 12, 2026 07:31
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.

1 participant