Skip to content

docs(stratos) - Add explainer on spaces alignment - #113

Open
Ashex wants to merge 3 commits into
mainfrom
docs/spaces-alignment
Open

docs(stratos) - Add explainer on spaces alignment#113
Ashex wants to merge 3 commits into
mainfrom
docs/spaces-alignment

Conversation

@Ashex

@Ashex Ashex commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Description

Now that docs CI is working, add a dedicated page explaining how stratos works with permissioned spaces, focuses heavily on the rationale and why we are keeping stratos.

Related Issues

Testing

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as
    expected)
  • Documentation update
  • Performance improvement
  • Code refactoring
  • Build/CI changes
  • Test improvements

Summary by CodeRabbit

  • New Features
    • Added architecture documentation for Permissioned Spaces and Feed Generators.
    • Added interactive diagrams illustrating credential, data residency, request, and indexing flows.
    • Expanded Architecture navigation with new Permissioned Spaces and Feed Generator sections.

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0774fe3b-ef09-4eee-ae3d-3329a26dea08

📥 Commits

Reviewing files that changed from the base of the PR and between a4e7dd3 and 5289362.

📒 Files selected for processing (3)
  • docs/.vitepress/theme/components/FeedgenRequestFlow.vue
  • docs/architecture/feed-generator.md
  • docs/architecture/permissioned-spaces.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/architecture/feed-generator.md
  • docs/.vitepress/theme/components/FeedgenRequestFlow.vue
  • docs/architecture/permissioned-spaces.md

📝 Walkthrough

Walkthrough

Added architecture documentation for Permissioned Spaces and Feed Generator services. Added four responsive Vue flow visualizations with animated stages, resize handling, and cleanup. Updated Architecture navigation entries for the new pages.

Changes

Architecture documentation and visualizations

Layer / File(s) Summary
Permissioned Spaces architecture and flows
docs/architecture/permissioned-spaces.md, docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue, docs/.vitepress/theme/components/SpaceDataResidencyAnimation.vue
The documentation covers space mapping, credentials, membership, storage, interoperability, and CAR portability. The Vue components visualize credential and data-residency flows with responsive sizing, timed stages, looping, and cleanup.
Feed Generator architecture and flows
docs/architecture/feed-generator.md, docs/.vitepress/theme/components/FeedgenRequestFlow.vue, docs/.vitepress/theme/components/FeedgenIndexingFlow.vue
The documentation covers endpoints, routing, authentication, indexing, moderation labels, storage, and deployment. The Vue components visualize request and indexing paths with responsive SVG layouts and animated flow markers.
Architecture navigation wiring
docs/.vitepress/config.ts
The Architecture link now targets Permissioned Spaces. The sidebar includes Permissioned Spaces and Feed Generator entries.

Estimated code review effort: 3 (Moderate) | ~30 minutes

Possibly related PRs

  • NorthskySocial/stratos#109: Implements the Permissioned Spaces credentials, boundaries, hydration, and synchronization behavior documented by this PR.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the documentation update about Stratos space alignment, which matches the pull request's primary objective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/spaces-alignment

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (2)
docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue (2)

159-289: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Extract the shared responsive-stage boilerplate into one composable. All four components copy-paste the same containerRef/stageRef refs, the fit() scale calculation, the ResizeObserver mount/cleanup pair, and a near-identical <style scoped> block of CSS custom properties and .node/.pill/.tag/.arsvg rules. Under a different mode of production this labor would be pooled from the start; here, four copies of the same forty lines quietly diverge a little more with every future edit.

  • docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue#L159-L289: extract fit(), the ResizeObserver setup/teardown, and the shared CSS custom properties/base classes into a composable (e.g. useResponsiveStage(containerRef, stageRef)) and a shared partial stylesheet; keep the step sequencer local to this file.
  • docs/.vitepress/theme/components/SpaceDataResidencyAnimation.vue#L152-L274: adopt the same composable and shared stylesheet; keep its own step sequencer local.
  • docs/.vitepress/theme/components/FeedgenRequestFlow.vue#L140-L161: adopt the composable for fit()/ResizeObserver; drop the local duplicate.
  • docs/.vitepress/theme/components/FeedgenIndexingFlow.vue#L119-L140: adopt the composable for fit()/ResizeObserver; drop the local duplicate.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue` around
lines 159 - 289, Extract the duplicated responsive-stage logic into a shared
useResponsiveStage composable and shared stylesheet. In
docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue (159-289) and
docs/.vitepress/theme/components/SpaceDataResidencyAnimation.vue (152-274),
replace local containerRef/stageRef setup, fit(), ResizeObserver lifecycle, and
shared base CSS with the shared utilities while keeping each steps sequencer
local. In docs/.vitepress/theme/components/FeedgenRequestFlow.vue (140-161) and
docs/.vitepress/theme/components/FeedgenIndexingFlow.vue (119-140), adopt the
composable and remove their duplicate fit()/ResizeObserver implementations.

1-157: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add aria-hidden and respect prefers-reduced-motion on all four decorative animations. Each component renders a purely decorative diagram that restates prose already present in the surrounding markdown, and each runs an unconditional, indefinitely looping animation with no motion-preference check. A screen reader will read through every emoji and pill label with no added information, and a user who has asked the system to reduce motion gets none of the consideration the request implies.

  • docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue#L1-L157: add aria-hidden="true" to .anim-outer, and wrap the hl/processing/.ar.show animations in a @media (prefers-reduced-motion: reduce) override that disables or shortens them.
  • docs/.vitepress/theme/components/SpaceDataResidencyAnimation.vue#L1-L151: same two changes.
  • docs/.vitepress/theme/components/FeedgenRequestFlow.vue#L1-L139: add aria-hidden="true" to .anim-outer, and gate the continuous .ar marching-ants animation behind prefers-reduced-motion.
  • docs/.vitepress/theme/components/FeedgenIndexingFlow.vue#L1-L118: same two changes.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue` around
lines 1 - 157, Make all four decorative animation components aria-hidden and
honor reduced-motion preferences: in
docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue (lines 1-157),
add aria-hidden="true" to .anim-outer and disable or shorten the hl, processing,
and .ar.show animations under prefers-reduced-motion: reduce; apply the same
changes in docs/.vitepress/theme/components/SpaceDataResidencyAnimation.vue
(lines 1-151) and docs/.vitepress/theme/components/FeedgenIndexingFlow.vue
(lines 1-118); in docs/.vitepress/theme/components/FeedgenRequestFlow.vue (lines
1-139), add aria-hidden="true" and gate the continuous .ar marching-ants
animation behind the reduced-motion media query.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/architecture/feed-generator.md`:
- Around line 62-67: Run the project’s configured markdownlint/table formatter
with fix enabled on the feed-generator architecture document, ensuring the table
in the documented service-auth flow is aligned according to MD060’s visual-width
rules. Do not adjust the pipe spacing manually; verify the resulting markdown
passes the configured lint checks.

In `@docs/architecture/permissioned-spaces.md`:
- Around line 42-65: Update the three fenced URI examples in the
permissioned-spaces documentation to include a text language identifier, then
run the project Prettier formatter to resolve any remaining formatting issues.

---

Nitpick comments:
In `@docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue`:
- Around line 159-289: Extract the duplicated responsive-stage logic into a
shared useResponsiveStage composable and shared stylesheet. In
docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue (159-289) and
docs/.vitepress/theme/components/SpaceDataResidencyAnimation.vue (152-274),
replace local containerRef/stageRef setup, fit(), ResizeObserver lifecycle, and
shared base CSS with the shared utilities while keeping each steps sequencer
local. In docs/.vitepress/theme/components/FeedgenRequestFlow.vue (140-161) and
docs/.vitepress/theme/components/FeedgenIndexingFlow.vue (119-140), adopt the
composable and remove their duplicate fit()/ResizeObserver implementations.
- Around line 1-157: Make all four decorative animation components aria-hidden
and honor reduced-motion preferences: in
docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue (lines 1-157),
add aria-hidden="true" to .anim-outer and disable or shorten the hl, processing,
and .ar.show animations under prefers-reduced-motion: reduce; apply the same
changes in docs/.vitepress/theme/components/SpaceDataResidencyAnimation.vue
(lines 1-151) and docs/.vitepress/theme/components/FeedgenIndexingFlow.vue
(lines 1-118); in docs/.vitepress/theme/components/FeedgenRequestFlow.vue (lines
1-139), add aria-hidden="true" and gate the continuous .ar marching-ants
animation behind the reduced-motion media query.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 394f6e36-adce-4204-8da9-11f3c762eced

📥 Commits

Reviewing files that changed from the base of the PR and between 81bb2bb and a4e7dd3.

📒 Files selected for processing (7)
  • docs/.vitepress/config.ts
  • docs/.vitepress/theme/components/FeedgenIndexingFlow.vue
  • docs/.vitepress/theme/components/FeedgenRequestFlow.vue
  • docs/.vitepress/theme/components/SpaceCredentialFlowAnimation.vue
  • docs/.vitepress/theme/components/SpaceDataResidencyAnimation.vue
  • docs/architecture/feed-generator.md
  • docs/architecture/permissioned-spaces.md

Comment thread docs/architecture/feed-generator.md Outdated
Comment thread docs/architecture/permissioned-spaces.md Outdated
@Ashex

Ashex commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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