Docs/registry and ontology fixes - #759

Merged
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes
Jan 30, 2026
Merged

Docs/registry and ontology fixes#759
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes

Conversation

@coodos

@coodoscoodos commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Description of change

address comments by @nsergey82

Issue Number

Type of change

  • Docs (changes to the documentation)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • Documentation
    • Updated Registry documentation terminology and descriptions to enhance clarity and improve consistency across the guide.
    • Refined token verification explanations with more precise language to provide clearer guidance on verification procedures.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitaiBot commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Documentation updates to the Registry.md file with two terminology clarifications: replacing "Resolve W3IDs" with "Resolve eNames" and rewording the token verification description for improved clarity.

Changes

Cohort / File(s)Summary
Documentation Updates
docs/docs/Infrastructure/Registry.md
Terminology change from "W3IDs" to "eNames" and clarified token verification description to emphasize the JSON Web Key Set provided via public JWK endpoint.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • prototype#759: Includes identical documentation edits to Registry.md with the same terminology and token verification wording updates.

Poem

🐰 With ears held high and whiskers bright,
I hopped to fix the wording right,
From W3IDs to eNames we say,
And tokens verified the clearer way!

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check nameStatusExplanationResolution
Title check⚠️ WarningThe title 'Docs/registry and ontology fixes' only partially aligns with the changeset, which includes feature additions (no-match notification system) alongside documentation updates.Revise the title to accurately reflect all significant changes, such as 'Add no-match notifications and update registry documentation' or split into multiple focused PRs.
Description check⚠️ WarningThe description is incomplete and misleading. It only mentions documentation changes, but the changeset contains substantial feature additions (no-match notification system) that are not documented.Update the description to include details about the new no-match notification feature, explain how it integrates with existing services, and provide testing information for both features.
✅ Passed checks (1 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/registry-and-ontology-fixes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coodos
coodosforce-pushed the docs/registry-and-ontology-fixes branch from 0dae76b to a944efcCompareJanuary 30, 2026 20:34

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/docs/Infrastructure/Registry.md`:
- Line 13: The documentation uses "W3IDs" elsewhere but the diff changed a
single instance to "eNames" ("Resolve eNames"); make terminology consistent by
either reverting this change back to "Resolve W3IDs" or systematically replacing
all occurrences of "W3IDs" with "eNames" across the document; update the line
containing "Resolve eNames" and then run a global search for "W3IDs" (and
"eNames") in this file to ensure a single chosen term is used consistently
(update any headings, bullets, and references such as the instances at lines
referenced in the review).
- Line 15: Replace the grammatically incorrect line "Verify tokens supply JSON
Web Key Set to verify JWTs via public JWK endpoint" with a clear phrasing such
as "Verify JWTs using the JSON Web Key Set from the public JWK endpoint" (or
alternately "Verify tokens using the JSON Web Key Set provided via public JWK
endpoint" / "Supply JSON Web Key Set to verify JWTs via public JWK endpoint") so
the intent and grammar are fixed in the Registry.md documentation.
🧹 Nitpick comments (1)
platforms/dreamsync-api/src/services/AIMatchingService.ts (1)

145-156: Fragile userId extraction from raw query results.

Line 153 uses Object.values(r)[0] to extract the userId, which is implicit and could break if the query structure changes. Consider using an explicit column alias for more robust code:

Suggested improvement
 private async getAllWishlistUserIdsForNoMatch(): Promise<string[]> {
const rows = await this.wishlistRepository
.createQueryBuilder("wishlist")
- .select("DISTINCT wishlist.userId")+ .select("DISTINCT wishlist.userId", "userId")
.leftJoin("wishlist.user", "user")
.where("wishlist.isActive = :isActive", { isActive: true })
.andWhere("user.isPrivate = :isPrivate", { isPrivate: false })
- .getRawMany<Record<string, string>>();- const userIds = rows.map(r => Object.values(r)[0]).filter(Boolean) as string[];+ .getRawMany<{ userId: string }>();+ const userIds = rows.map(r => r.userId).filter(Boolean);
console.log(`📋 [no-match] Found ${userIds.length} distinct users with at least one active wishlist (including empty wishlists)`);
return userIds;
}

The Registry enables clients and services to:

- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)

@coderabbitaicoderabbitaiBotJan 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistent terminology: eNames vs W3IDs.

The change introduces "eNames" here, but the rest of the document continues to use "W3IDs" extensively (lines 7, 59, 61, 63, 77, 141, 149, 157). This inconsistency may confuse readers about whether these are the same concept or different identifiers.

Either revert this change to maintain "W3IDs" throughout, or update all references in the document to use "eNames" consistently.

📝 Option 1: Revert to maintain consistency with rest of document
-- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)+- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
-**Resolve eNames** to service endpoints (eVault URIs, platform URLs)
-**Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
🤖 Prompt for AI Agents
In `@docs/docs/Infrastructure/Registry.md` at line 13, The documentation uses
"W3IDs" elsewhere but the diff changed a single instance to "eNames" ("Resolve
eNames"); make terminology consistent by either reverting this change back to
"Resolve W3IDs" or systematically replacing all occurrences of "W3IDs" with
"eNames" across the document; update the line containing "Resolve eNames" and
then run a global search for "W3IDs" (and "eNames") in this file to ensure a
single chosen term is used consistently (update any headings, bullets, and
references such as the instances at lines referenced in the review).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

nack, eName == W3ID with @ prefix, which is globally resolvable

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@coodos, thank you for the clarification! I understand now—eNames are W3IDs with the @ prefix, so the change to "Resolve eNames" is more precise for the Registry's resolution functionality. My suggestion to revert was incorrect.


✏️ Learnings added
Learnt from: coodos
Repo: MetaState-Prototype-Project/prototype PR: 759
File: docs/docs/Infrastructure/Registry.md:13-13
Timestamp: 2026-01-30T20:36:08.155Z
Learning: In the MetaState-Prototype-Project/prototype codebase: eName is a W3ID with the `@` prefix and is globally resolvable. The Registry resolves eNames (W3IDs with @ prefix) to service endpoints.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Comment threaddocs/docs/Infrastructure/Registry.md Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@coodos
coodos merged commit 18a4049 into mainJan 30, 2026
3 checks passed
@coodos
coodos deleted the docs/registry-and-ontology-fixes branch January 30, 2026 20:36
Sign up for freeto 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

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Docs/registry and ontology fixes - #759

Merged
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes
Jan 30, 2026
Merged

Docs/registry and ontology fixes#759
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes

Conversation

@coodos

@coodoscoodos commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Description of change

address comments by @nsergey82

Issue Number

Type of change

  • Docs (changes to the documentation)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • Documentation
    • Updated Registry documentation terminology and descriptions to enhance clarity and improve consistency across the guide.
    • Refined token verification explanations with more precise language to provide clearer guidance on verification procedures.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitaiBot commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Documentation updates to the Registry.md file with two terminology clarifications: replacing "Resolve W3IDs" with "Resolve eNames" and rewording the token verification description for improved clarity.

Changes

Cohort / File(s)Summary
Documentation Updates
docs/docs/Infrastructure/Registry.md
Terminology change from "W3IDs" to "eNames" and clarified token verification description to emphasize the JSON Web Key Set provided via public JWK endpoint.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • prototype#759: Includes identical documentation edits to Registry.md with the same terminology and token verification wording updates.

Poem

🐰 With ears held high and whiskers bright,
I hopped to fix the wording right,
From W3IDs to eNames we say,
And tokens verified the clearer way!

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check nameStatusExplanationResolution
Title check⚠️ WarningThe title 'Docs/registry and ontology fixes' only partially aligns with the changeset, which includes feature additions (no-match notification system) alongside documentation updates.Revise the title to accurately reflect all significant changes, such as 'Add no-match notifications and update registry documentation' or split into multiple focused PRs.
Description check⚠️ WarningThe description is incomplete and misleading. It only mentions documentation changes, but the changeset contains substantial feature additions (no-match notification system) that are not documented.Update the description to include details about the new no-match notification feature, explain how it integrates with existing services, and provide testing information for both features.
✅ Passed checks (1 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/registry-and-ontology-fixes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coodos
coodosforce-pushed the docs/registry-and-ontology-fixes branch from 0dae76b to a944efcCompareJanuary 30, 2026 20:34

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/docs/Infrastructure/Registry.md`:
- Line 13: The documentation uses "W3IDs" elsewhere but the diff changed a
single instance to "eNames" ("Resolve eNames"); make terminology consistent by
either reverting this change back to "Resolve W3IDs" or systematically replacing
all occurrences of "W3IDs" with "eNames" across the document; update the line
containing "Resolve eNames" and then run a global search for "W3IDs" (and
"eNames") in this file to ensure a single chosen term is used consistently
(update any headings, bullets, and references such as the instances at lines
referenced in the review).
- Line 15: Replace the grammatically incorrect line "Verify tokens supply JSON
Web Key Set to verify JWTs via public JWK endpoint" with a clear phrasing such
as "Verify JWTs using the JSON Web Key Set from the public JWK endpoint" (or
alternately "Verify tokens using the JSON Web Key Set provided via public JWK
endpoint" / "Supply JSON Web Key Set to verify JWTs via public JWK endpoint") so
the intent and grammar are fixed in the Registry.md documentation.
🧹 Nitpick comments (1)
platforms/dreamsync-api/src/services/AIMatchingService.ts (1)

145-156: Fragile userId extraction from raw query results.

Line 153 uses Object.values(r)[0] to extract the userId, which is implicit and could break if the query structure changes. Consider using an explicit column alias for more robust code:

Suggested improvement
 private async getAllWishlistUserIdsForNoMatch(): Promise<string[]> {
const rows = await this.wishlistRepository
.createQueryBuilder("wishlist")
- .select("DISTINCT wishlist.userId")+ .select("DISTINCT wishlist.userId", "userId")
.leftJoin("wishlist.user", "user")
.where("wishlist.isActive = :isActive", { isActive: true })
.andWhere("user.isPrivate = :isPrivate", { isPrivate: false })
- .getRawMany<Record<string, string>>();- const userIds = rows.map(r => Object.values(r)[0]).filter(Boolean) as string[];+ .getRawMany<{ userId: string }>();+ const userIds = rows.map(r => r.userId).filter(Boolean);
console.log(`📋 [no-match] Found ${userIds.length} distinct users with at least one active wishlist (including empty wishlists)`);
return userIds;
}

The Registry enables clients and services to:

- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)

@coderabbitaicoderabbitaiBotJan 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistent terminology: eNames vs W3IDs.

The change introduces "eNames" here, but the rest of the document continues to use "W3IDs" extensively (lines 7, 59, 61, 63, 77, 141, 149, 157). This inconsistency may confuse readers about whether these are the same concept or different identifiers.

Either revert this change to maintain "W3IDs" throughout, or update all references in the document to use "eNames" consistently.

📝 Option 1: Revert to maintain consistency with rest of document
-- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)+- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
-**Resolve eNames** to service endpoints (eVault URIs, platform URLs)
-**Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
🤖 Prompt for AI Agents
In `@docs/docs/Infrastructure/Registry.md` at line 13, The documentation uses
"W3IDs" elsewhere but the diff changed a single instance to "eNames" ("Resolve
eNames"); make terminology consistent by either reverting this change back to
"Resolve W3IDs" or systematically replacing all occurrences of "W3IDs" with
"eNames" across the document; update the line containing "Resolve eNames" and
then run a global search for "W3IDs" (and "eNames") in this file to ensure a
single chosen term is used consistently (update any headings, bullets, and
references such as the instances at lines referenced in the review).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

nack, eName == W3ID with @ prefix, which is globally resolvable

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@coodos, thank you for the clarification! I understand now—eNames are W3IDs with the @ prefix, so the change to "Resolve eNames" is more precise for the Registry's resolution functionality. My suggestion to revert was incorrect.


✏️ Learnings added
Learnt from: coodos
Repo: MetaState-Prototype-Project/prototype PR: 759
File: docs/docs/Infrastructure/Registry.md:13-13
Timestamp: 2026-01-30T20:36:08.155Z
Learning: In the MetaState-Prototype-Project/prototype codebase: eName is a W3ID with the `@` prefix and is globally resolvable. The Registry resolves eNames (W3IDs with @ prefix) to service endpoints.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Comment threaddocs/docs/Infrastructure/Registry.md Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@coodos
coodos merged commit 18a4049 into mainJan 30, 2026
3 checks passed
@coodos
coodos deleted the docs/registry-and-ontology-fixes branch January 30, 2026 20:36
Sign up for freeto 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

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Docs/registry and ontology fixes - #759

Merged
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes
Jan 30, 2026
Merged

Docs/registry and ontology fixes#759
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes

Conversation

@coodos

@coodoscoodos commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Description of change

address comments by @nsergey82

Issue Number

Type of change

  • Docs (changes to the documentation)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • Documentation
    • Updated Registry documentation terminology and descriptions to enhance clarity and improve consistency across the guide.
    • Refined token verification explanations with more precise language to provide clearer guidance on verification procedures.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitaiBot commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Documentation updates to the Registry.md file with two terminology clarifications: replacing "Resolve W3IDs" with "Resolve eNames" and rewording the token verification description for improved clarity.

Changes

Cohort / File(s)Summary
Documentation Updates
docs/docs/Infrastructure/Registry.md
Terminology change from "W3IDs" to "eNames" and clarified token verification description to emphasize the JSON Web Key Set provided via public JWK endpoint.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • prototype#759: Includes identical documentation edits to Registry.md with the same terminology and token verification wording updates.

Poem

🐰 With ears held high and whiskers bright,
I hopped to fix the wording right,
From W3IDs to eNames we say,
And tokens verified the clearer way!

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check nameStatusExplanationResolution
Title check⚠️ WarningThe title 'Docs/registry and ontology fixes' only partially aligns with the changeset, which includes feature additions (no-match notification system) alongside documentation updates.Revise the title to accurately reflect all significant changes, such as 'Add no-match notifications and update registry documentation' or split into multiple focused PRs.
Description check⚠️ WarningThe description is incomplete and misleading. It only mentions documentation changes, but the changeset contains substantial feature additions (no-match notification system) that are not documented.Update the description to include details about the new no-match notification feature, explain how it integrates with existing services, and provide testing information for both features.
✅ Passed checks (1 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/registry-and-ontology-fixes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coodos
coodosforce-pushed the docs/registry-and-ontology-fixes branch from 0dae76b to a944efcCompareJanuary 30, 2026 20:34

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/docs/Infrastructure/Registry.md`:
- Line 13: The documentation uses "W3IDs" elsewhere but the diff changed a
single instance to "eNames" ("Resolve eNames"); make terminology consistent by
either reverting this change back to "Resolve W3IDs" or systematically replacing
all occurrences of "W3IDs" with "eNames" across the document; update the line
containing "Resolve eNames" and then run a global search for "W3IDs" (and
"eNames") in this file to ensure a single chosen term is used consistently
(update any headings, bullets, and references such as the instances at lines
referenced in the review).
- Line 15: Replace the grammatically incorrect line "Verify tokens supply JSON
Web Key Set to verify JWTs via public JWK endpoint" with a clear phrasing such
as "Verify JWTs using the JSON Web Key Set from the public JWK endpoint" (or
alternately "Verify tokens using the JSON Web Key Set provided via public JWK
endpoint" / "Supply JSON Web Key Set to verify JWTs via public JWK endpoint") so
the intent and grammar are fixed in the Registry.md documentation.
🧹 Nitpick comments (1)
platforms/dreamsync-api/src/services/AIMatchingService.ts (1)

145-156: Fragile userId extraction from raw query results.

Line 153 uses Object.values(r)[0] to extract the userId, which is implicit and could break if the query structure changes. Consider using an explicit column alias for more robust code:

Suggested improvement
 private async getAllWishlistUserIdsForNoMatch(): Promise<string[]> {
const rows = await this.wishlistRepository
.createQueryBuilder("wishlist")
- .select("DISTINCT wishlist.userId")+ .select("DISTINCT wishlist.userId", "userId")
.leftJoin("wishlist.user", "user")
.where("wishlist.isActive = :isActive", { isActive: true })
.andWhere("user.isPrivate = :isPrivate", { isPrivate: false })
- .getRawMany<Record<string, string>>();- const userIds = rows.map(r => Object.values(r)[0]).filter(Boolean) as string[];+ .getRawMany<{ userId: string }>();+ const userIds = rows.map(r => r.userId).filter(Boolean);
console.log(`📋 [no-match] Found ${userIds.length} distinct users with at least one active wishlist (including empty wishlists)`);
return userIds;
}

The Registry enables clients and services to:

- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)

@coderabbitaicoderabbitaiBotJan 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistent terminology: eNames vs W3IDs.

The change introduces "eNames" here, but the rest of the document continues to use "W3IDs" extensively (lines 7, 59, 61, 63, 77, 141, 149, 157). This inconsistency may confuse readers about whether these are the same concept or different identifiers.

Either revert this change to maintain "W3IDs" throughout, or update all references in the document to use "eNames" consistently.

📝 Option 1: Revert to maintain consistency with rest of document
-- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)+- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
-**Resolve eNames** to service endpoints (eVault URIs, platform URLs)
-**Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
🤖 Prompt for AI Agents
In `@docs/docs/Infrastructure/Registry.md` at line 13, The documentation uses
"W3IDs" elsewhere but the diff changed a single instance to "eNames" ("Resolve
eNames"); make terminology consistent by either reverting this change back to
"Resolve W3IDs" or systematically replacing all occurrences of "W3IDs" with
"eNames" across the document; update the line containing "Resolve eNames" and
then run a global search for "W3IDs" (and "eNames") in this file to ensure a
single chosen term is used consistently (update any headings, bullets, and
references such as the instances at lines referenced in the review).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

nack, eName == W3ID with @ prefix, which is globally resolvable

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@coodos, thank you for the clarification! I understand now—eNames are W3IDs with the @ prefix, so the change to "Resolve eNames" is more precise for the Registry's resolution functionality. My suggestion to revert was incorrect.


✏️ Learnings added
Learnt from: coodos
Repo: MetaState-Prototype-Project/prototype PR: 759
File: docs/docs/Infrastructure/Registry.md:13-13
Timestamp: 2026-01-30T20:36:08.155Z
Learning: In the MetaState-Prototype-Project/prototype codebase: eName is a W3ID with the `@` prefix and is globally resolvable. The Registry resolves eNames (W3IDs with @ prefix) to service endpoints.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Comment threaddocs/docs/Infrastructure/Registry.md Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@coodos
coodos merged commit 18a4049 into mainJan 30, 2026
3 checks passed
@coodos
coodos deleted the docs/registry-and-ontology-fixes branch January 30, 2026 20:36
Sign up for freeto 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

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Docs/registry and ontology fixes - #759

Merged
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes
Jan 30, 2026
Merged

Docs/registry and ontology fixes#759
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes

Conversation

@coodos

@coodoscoodos commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Description of change

address comments by @nsergey82

Issue Number

Type of change

  • Docs (changes to the documentation)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • Documentation
    • Updated Registry documentation terminology and descriptions to enhance clarity and improve consistency across the guide.
    • Refined token verification explanations with more precise language to provide clearer guidance on verification procedures.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitaiBot commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Documentation updates to the Registry.md file with two terminology clarifications: replacing "Resolve W3IDs" with "Resolve eNames" and rewording the token verification description for improved clarity.

Changes

Cohort / File(s)Summary
Documentation Updates
docs/docs/Infrastructure/Registry.md
Terminology change from "W3IDs" to "eNames" and clarified token verification description to emphasize the JSON Web Key Set provided via public JWK endpoint.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • prototype#759: Includes identical documentation edits to Registry.md with the same terminology and token verification wording updates.

Poem

🐰 With ears held high and whiskers bright,
I hopped to fix the wording right,
From W3IDs to eNames we say,
And tokens verified the clearer way!

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check nameStatusExplanationResolution
Title check⚠️ WarningThe title 'Docs/registry and ontology fixes' only partially aligns with the changeset, which includes feature additions (no-match notification system) alongside documentation updates.Revise the title to accurately reflect all significant changes, such as 'Add no-match notifications and update registry documentation' or split into multiple focused PRs.
Description check⚠️ WarningThe description is incomplete and misleading. It only mentions documentation changes, but the changeset contains substantial feature additions (no-match notification system) that are not documented.Update the description to include details about the new no-match notification feature, explain how it integrates with existing services, and provide testing information for both features.
✅ Passed checks (1 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/registry-and-ontology-fixes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coodos
coodosforce-pushed the docs/registry-and-ontology-fixes branch from 0dae76b to a944efcCompareJanuary 30, 2026 20:34

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/docs/Infrastructure/Registry.md`:
- Line 13: The documentation uses "W3IDs" elsewhere but the diff changed a
single instance to "eNames" ("Resolve eNames"); make terminology consistent by
either reverting this change back to "Resolve W3IDs" or systematically replacing
all occurrences of "W3IDs" with "eNames" across the document; update the line
containing "Resolve eNames" and then run a global search for "W3IDs" (and
"eNames") in this file to ensure a single chosen term is used consistently
(update any headings, bullets, and references such as the instances at lines
referenced in the review).
- Line 15: Replace the grammatically incorrect line "Verify tokens supply JSON
Web Key Set to verify JWTs via public JWK endpoint" with a clear phrasing such
as "Verify JWTs using the JSON Web Key Set from the public JWK endpoint" (or
alternately "Verify tokens using the JSON Web Key Set provided via public JWK
endpoint" / "Supply JSON Web Key Set to verify JWTs via public JWK endpoint") so
the intent and grammar are fixed in the Registry.md documentation.
🧹 Nitpick comments (1)
platforms/dreamsync-api/src/services/AIMatchingService.ts (1)

145-156: Fragile userId extraction from raw query results.

Line 153 uses Object.values(r)[0] to extract the userId, which is implicit and could break if the query structure changes. Consider using an explicit column alias for more robust code:

Suggested improvement
 private async getAllWishlistUserIdsForNoMatch(): Promise<string[]> {
const rows = await this.wishlistRepository
.createQueryBuilder("wishlist")
- .select("DISTINCT wishlist.userId")+ .select("DISTINCT wishlist.userId", "userId")
.leftJoin("wishlist.user", "user")
.where("wishlist.isActive = :isActive", { isActive: true })
.andWhere("user.isPrivate = :isPrivate", { isPrivate: false })
- .getRawMany<Record<string, string>>();- const userIds = rows.map(r => Object.values(r)[0]).filter(Boolean) as string[];+ .getRawMany<{ userId: string }>();+ const userIds = rows.map(r => r.userId).filter(Boolean);
console.log(`📋 [no-match] Found ${userIds.length} distinct users with at least one active wishlist (including empty wishlists)`);
return userIds;
}

The Registry enables clients and services to:

- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)

@coderabbitaicoderabbitaiBotJan 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistent terminology: eNames vs W3IDs.

The change introduces "eNames" here, but the rest of the document continues to use "W3IDs" extensively (lines 7, 59, 61, 63, 77, 141, 149, 157). This inconsistency may confuse readers about whether these are the same concept or different identifiers.

Either revert this change to maintain "W3IDs" throughout, or update all references in the document to use "eNames" consistently.

📝 Option 1: Revert to maintain consistency with rest of document
-- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)+- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
-**Resolve eNames** to service endpoints (eVault URIs, platform URLs)
-**Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
🤖 Prompt for AI Agents
In `@docs/docs/Infrastructure/Registry.md` at line 13, The documentation uses
"W3IDs" elsewhere but the diff changed a single instance to "eNames" ("Resolve
eNames"); make terminology consistent by either reverting this change back to
"Resolve W3IDs" or systematically replacing all occurrences of "W3IDs" with
"eNames" across the document; update the line containing "Resolve eNames" and
then run a global search for "W3IDs" (and "eNames") in this file to ensure a
single chosen term is used consistently (update any headings, bullets, and
references such as the instances at lines referenced in the review).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

nack, eName == W3ID with @ prefix, which is globally resolvable

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@coodos, thank you for the clarification! I understand now—eNames are W3IDs with the @ prefix, so the change to "Resolve eNames" is more precise for the Registry's resolution functionality. My suggestion to revert was incorrect.


✏️ Learnings added
Learnt from: coodos
Repo: MetaState-Prototype-Project/prototype PR: 759
File: docs/docs/Infrastructure/Registry.md:13-13
Timestamp: 2026-01-30T20:36:08.155Z
Learning: In the MetaState-Prototype-Project/prototype codebase: eName is a W3ID with the `@` prefix and is globally resolvable. The Registry resolves eNames (W3IDs with @ prefix) to service endpoints.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Comment threaddocs/docs/Infrastructure/Registry.md Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@coodos
coodos merged commit 18a4049 into mainJan 30, 2026
3 checks passed
@coodos
coodos deleted the docs/registry-and-ontology-fixes branch January 30, 2026 20:36
Sign up for freeto 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

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Docs/registry and ontology fixes - #759

Merged
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes
Jan 30, 2026
Merged

Docs/registry and ontology fixes#759
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes

Conversation

@coodos

@coodoscoodos commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Description of change

address comments by @nsergey82

Issue Number

Type of change

  • Docs (changes to the documentation)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • Documentation
    • Updated Registry documentation terminology and descriptions to enhance clarity and improve consistency across the guide.
    • Refined token verification explanations with more precise language to provide clearer guidance on verification procedures.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitaiBot commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Documentation updates to the Registry.md file with two terminology clarifications: replacing "Resolve W3IDs" with "Resolve eNames" and rewording the token verification description for improved clarity.

Changes

Cohort / File(s)Summary
Documentation Updates
docs/docs/Infrastructure/Registry.md
Terminology change from "W3IDs" to "eNames" and clarified token verification description to emphasize the JSON Web Key Set provided via public JWK endpoint.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • prototype#759: Includes identical documentation edits to Registry.md with the same terminology and token verification wording updates.

Poem

🐰 With ears held high and whiskers bright,
I hopped to fix the wording right,
From W3IDs to eNames we say,
And tokens verified the clearer way!

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check nameStatusExplanationResolution
Title check⚠️ WarningThe title 'Docs/registry and ontology fixes' only partially aligns with the changeset, which includes feature additions (no-match notification system) alongside documentation updates.Revise the title to accurately reflect all significant changes, such as 'Add no-match notifications and update registry documentation' or split into multiple focused PRs.
Description check⚠️ WarningThe description is incomplete and misleading. It only mentions documentation changes, but the changeset contains substantial feature additions (no-match notification system) that are not documented.Update the description to include details about the new no-match notification feature, explain how it integrates with existing services, and provide testing information for both features.
✅ Passed checks (1 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/registry-and-ontology-fixes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coodos
coodosforce-pushed the docs/registry-and-ontology-fixes branch from 0dae76b to a944efcCompareJanuary 30, 2026 20:34

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/docs/Infrastructure/Registry.md`:
- Line 13: The documentation uses "W3IDs" elsewhere but the diff changed a
single instance to "eNames" ("Resolve eNames"); make terminology consistent by
either reverting this change back to "Resolve W3IDs" or systematically replacing
all occurrences of "W3IDs" with "eNames" across the document; update the line
containing "Resolve eNames" and then run a global search for "W3IDs" (and
"eNames") in this file to ensure a single chosen term is used consistently
(update any headings, bullets, and references such as the instances at lines
referenced in the review).
- Line 15: Replace the grammatically incorrect line "Verify tokens supply JSON
Web Key Set to verify JWTs via public JWK endpoint" with a clear phrasing such
as "Verify JWTs using the JSON Web Key Set from the public JWK endpoint" (or
alternately "Verify tokens using the JSON Web Key Set provided via public JWK
endpoint" / "Supply JSON Web Key Set to verify JWTs via public JWK endpoint") so
the intent and grammar are fixed in the Registry.md documentation.
🧹 Nitpick comments (1)
platforms/dreamsync-api/src/services/AIMatchingService.ts (1)

145-156: Fragile userId extraction from raw query results.

Line 153 uses Object.values(r)[0] to extract the userId, which is implicit and could break if the query structure changes. Consider using an explicit column alias for more robust code:

Suggested improvement
 private async getAllWishlistUserIdsForNoMatch(): Promise<string[]> {
const rows = await this.wishlistRepository
.createQueryBuilder("wishlist")
- .select("DISTINCT wishlist.userId")+ .select("DISTINCT wishlist.userId", "userId")
.leftJoin("wishlist.user", "user")
.where("wishlist.isActive = :isActive", { isActive: true })
.andWhere("user.isPrivate = :isPrivate", { isPrivate: false })
- .getRawMany<Record<string, string>>();- const userIds = rows.map(r => Object.values(r)[0]).filter(Boolean) as string[];+ .getRawMany<{ userId: string }>();+ const userIds = rows.map(r => r.userId).filter(Boolean);
console.log(`📋 [no-match] Found ${userIds.length} distinct users with at least one active wishlist (including empty wishlists)`);
return userIds;
}

The Registry enables clients and services to:

- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)

@coderabbitaicoderabbitaiBotJan 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistent terminology: eNames vs W3IDs.

The change introduces "eNames" here, but the rest of the document continues to use "W3IDs" extensively (lines 7, 59, 61, 63, 77, 141, 149, 157). This inconsistency may confuse readers about whether these are the same concept or different identifiers.

Either revert this change to maintain "W3IDs" throughout, or update all references in the document to use "eNames" consistently.

📝 Option 1: Revert to maintain consistency with rest of document
-- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)+- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
-**Resolve eNames** to service endpoints (eVault URIs, platform URLs)
-**Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
🤖 Prompt for AI Agents
In `@docs/docs/Infrastructure/Registry.md` at line 13, The documentation uses
"W3IDs" elsewhere but the diff changed a single instance to "eNames" ("Resolve
eNames"); make terminology consistent by either reverting this change back to
"Resolve W3IDs" or systematically replacing all occurrences of "W3IDs" with
"eNames" across the document; update the line containing "Resolve eNames" and
then run a global search for "W3IDs" (and "eNames") in this file to ensure a
single chosen term is used consistently (update any headings, bullets, and
references such as the instances at lines referenced in the review).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

nack, eName == W3ID with @ prefix, which is globally resolvable

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@coodos, thank you for the clarification! I understand now—eNames are W3IDs with the @ prefix, so the change to "Resolve eNames" is more precise for the Registry's resolution functionality. My suggestion to revert was incorrect.


✏️ Learnings added
Learnt from: coodos
Repo: MetaState-Prototype-Project/prototype PR: 759
File: docs/docs/Infrastructure/Registry.md:13-13
Timestamp: 2026-01-30T20:36:08.155Z
Learning: In the MetaState-Prototype-Project/prototype codebase: eName is a W3ID with the `@` prefix and is globally resolvable. The Registry resolves eNames (W3IDs with @ prefix) to service endpoints.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Comment threaddocs/docs/Infrastructure/Registry.md Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@coodos
coodos merged commit 18a4049 into mainJan 30, 2026
3 checks passed
@coodos
coodos deleted the docs/registry-and-ontology-fixes branch January 30, 2026 20:36
Sign up for freeto 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

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Docs/registry and ontology fixes - #759

Merged
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes
Jan 30, 2026
Merged

Docs/registry and ontology fixes#759
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes

Conversation

@coodos

@coodoscoodos commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Description of change

address comments by @nsergey82

Issue Number

Type of change

  • Docs (changes to the documentation)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • Documentation
    • Updated Registry documentation terminology and descriptions to enhance clarity and improve consistency across the guide.
    • Refined token verification explanations with more precise language to provide clearer guidance on verification procedures.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitaiBot commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Documentation updates to the Registry.md file with two terminology clarifications: replacing "Resolve W3IDs" with "Resolve eNames" and rewording the token verification description for improved clarity.

Changes

Cohort / File(s)Summary
Documentation Updates
docs/docs/Infrastructure/Registry.md
Terminology change from "W3IDs" to "eNames" and clarified token verification description to emphasize the JSON Web Key Set provided via public JWK endpoint.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • prototype#759: Includes identical documentation edits to Registry.md with the same terminology and token verification wording updates.

Poem

🐰 With ears held high and whiskers bright,
I hopped to fix the wording right,
From W3IDs to eNames we say,
And tokens verified the clearer way!

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check nameStatusExplanationResolution
Title check⚠️ WarningThe title 'Docs/registry and ontology fixes' only partially aligns with the changeset, which includes feature additions (no-match notification system) alongside documentation updates.Revise the title to accurately reflect all significant changes, such as 'Add no-match notifications and update registry documentation' or split into multiple focused PRs.
Description check⚠️ WarningThe description is incomplete and misleading. It only mentions documentation changes, but the changeset contains substantial feature additions (no-match notification system) that are not documented.Update the description to include details about the new no-match notification feature, explain how it integrates with existing services, and provide testing information for both features.
✅ Passed checks (1 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/registry-and-ontology-fixes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coodos
coodosforce-pushed the docs/registry-and-ontology-fixes branch from 0dae76b to a944efcCompareJanuary 30, 2026 20:34

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/docs/Infrastructure/Registry.md`:
- Line 13: The documentation uses "W3IDs" elsewhere but the diff changed a
single instance to "eNames" ("Resolve eNames"); make terminology consistent by
either reverting this change back to "Resolve W3IDs" or systematically replacing
all occurrences of "W3IDs" with "eNames" across the document; update the line
containing "Resolve eNames" and then run a global search for "W3IDs" (and
"eNames") in this file to ensure a single chosen term is used consistently
(update any headings, bullets, and references such as the instances at lines
referenced in the review).
- Line 15: Replace the grammatically incorrect line "Verify tokens supply JSON
Web Key Set to verify JWTs via public JWK endpoint" with a clear phrasing such
as "Verify JWTs using the JSON Web Key Set from the public JWK endpoint" (or
alternately "Verify tokens using the JSON Web Key Set provided via public JWK
endpoint" / "Supply JSON Web Key Set to verify JWTs via public JWK endpoint") so
the intent and grammar are fixed in the Registry.md documentation.
🧹 Nitpick comments (1)
platforms/dreamsync-api/src/services/AIMatchingService.ts (1)

145-156: Fragile userId extraction from raw query results.

Line 153 uses Object.values(r)[0] to extract the userId, which is implicit and could break if the query structure changes. Consider using an explicit column alias for more robust code:

Suggested improvement
 private async getAllWishlistUserIdsForNoMatch(): Promise<string[]> {
const rows = await this.wishlistRepository
.createQueryBuilder("wishlist")
- .select("DISTINCT wishlist.userId")+ .select("DISTINCT wishlist.userId", "userId")
.leftJoin("wishlist.user", "user")
.where("wishlist.isActive = :isActive", { isActive: true })
.andWhere("user.isPrivate = :isPrivate", { isPrivate: false })
- .getRawMany<Record<string, string>>();- const userIds = rows.map(r => Object.values(r)[0]).filter(Boolean) as string[];+ .getRawMany<{ userId: string }>();+ const userIds = rows.map(r => r.userId).filter(Boolean);
console.log(`📋 [no-match] Found ${userIds.length} distinct users with at least one active wishlist (including empty wishlists)`);
return userIds;
}

The Registry enables clients and services to:

- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)

@coderabbitaicoderabbitaiBotJan 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistent terminology: eNames vs W3IDs.

The change introduces "eNames" here, but the rest of the document continues to use "W3IDs" extensively (lines 7, 59, 61, 63, 77, 141, 149, 157). This inconsistency may confuse readers about whether these are the same concept or different identifiers.

Either revert this change to maintain "W3IDs" throughout, or update all references in the document to use "eNames" consistently.

📝 Option 1: Revert to maintain consistency with rest of document
-- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)+- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
-**Resolve eNames** to service endpoints (eVault URIs, platform URLs)
-**Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
🤖 Prompt for AI Agents
In `@docs/docs/Infrastructure/Registry.md` at line 13, The documentation uses
"W3IDs" elsewhere but the diff changed a single instance to "eNames" ("Resolve
eNames"); make terminology consistent by either reverting this change back to
"Resolve W3IDs" or systematically replacing all occurrences of "W3IDs" with
"eNames" across the document; update the line containing "Resolve eNames" and
then run a global search for "W3IDs" (and "eNames") in this file to ensure a
single chosen term is used consistently (update any headings, bullets, and
references such as the instances at lines referenced in the review).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

nack, eName == W3ID with @ prefix, which is globally resolvable

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@coodos, thank you for the clarification! I understand now—eNames are W3IDs with the @ prefix, so the change to "Resolve eNames" is more precise for the Registry's resolution functionality. My suggestion to revert was incorrect.


✏️ Learnings added
Learnt from: coodos
Repo: MetaState-Prototype-Project/prototype PR: 759
File: docs/docs/Infrastructure/Registry.md:13-13
Timestamp: 2026-01-30T20:36:08.155Z
Learning: In the MetaState-Prototype-Project/prototype codebase: eName is a W3ID with the `@` prefix and is globally resolvable. The Registry resolves eNames (W3IDs with @ prefix) to service endpoints.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Comment threaddocs/docs/Infrastructure/Registry.md Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@coodos
coodos merged commit 18a4049 into mainJan 30, 2026
3 checks passed
@coodos
coodos deleted the docs/registry-and-ontology-fixes branch January 30, 2026 20:36
Sign up for freeto 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

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Docs/registry and ontology fixes - #759

Merged
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes
Jan 30, 2026
Merged

Docs/registry and ontology fixes#759
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes

Conversation

@coodos

@coodoscoodos commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Description of change

address comments by @nsergey82

Issue Number

Type of change

  • Docs (changes to the documentation)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • Documentation
    • Updated Registry documentation terminology and descriptions to enhance clarity and improve consistency across the guide.
    • Refined token verification explanations with more precise language to provide clearer guidance on verification procedures.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitaiBot commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Documentation updates to the Registry.md file with two terminology clarifications: replacing "Resolve W3IDs" with "Resolve eNames" and rewording the token verification description for improved clarity.

Changes

Cohort / File(s)Summary
Documentation Updates
docs/docs/Infrastructure/Registry.md
Terminology change from "W3IDs" to "eNames" and clarified token verification description to emphasize the JSON Web Key Set provided via public JWK endpoint.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • prototype#759: Includes identical documentation edits to Registry.md with the same terminology and token verification wording updates.

Poem

🐰 With ears held high and whiskers bright,
I hopped to fix the wording right,
From W3IDs to eNames we say,
And tokens verified the clearer way!

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check nameStatusExplanationResolution
Title check⚠️ WarningThe title 'Docs/registry and ontology fixes' only partially aligns with the changeset, which includes feature additions (no-match notification system) alongside documentation updates.Revise the title to accurately reflect all significant changes, such as 'Add no-match notifications and update registry documentation' or split into multiple focused PRs.
Description check⚠️ WarningThe description is incomplete and misleading. It only mentions documentation changes, but the changeset contains substantial feature additions (no-match notification system) that are not documented.Update the description to include details about the new no-match notification feature, explain how it integrates with existing services, and provide testing information for both features.
✅ Passed checks (1 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/registry-and-ontology-fixes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coodos
coodosforce-pushed the docs/registry-and-ontology-fixes branch from 0dae76b to a944efcCompareJanuary 30, 2026 20:34

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/docs/Infrastructure/Registry.md`:
- Line 13: The documentation uses "W3IDs" elsewhere but the diff changed a
single instance to "eNames" ("Resolve eNames"); make terminology consistent by
either reverting this change back to "Resolve W3IDs" or systematically replacing
all occurrences of "W3IDs" with "eNames" across the document; update the line
containing "Resolve eNames" and then run a global search for "W3IDs" (and
"eNames") in this file to ensure a single chosen term is used consistently
(update any headings, bullets, and references such as the instances at lines
referenced in the review).
- Line 15: Replace the grammatically incorrect line "Verify tokens supply JSON
Web Key Set to verify JWTs via public JWK endpoint" with a clear phrasing such
as "Verify JWTs using the JSON Web Key Set from the public JWK endpoint" (or
alternately "Verify tokens using the JSON Web Key Set provided via public JWK
endpoint" / "Supply JSON Web Key Set to verify JWTs via public JWK endpoint") so
the intent and grammar are fixed in the Registry.md documentation.
🧹 Nitpick comments (1)
platforms/dreamsync-api/src/services/AIMatchingService.ts (1)

145-156: Fragile userId extraction from raw query results.

Line 153 uses Object.values(r)[0] to extract the userId, which is implicit and could break if the query structure changes. Consider using an explicit column alias for more robust code:

Suggested improvement
 private async getAllWishlistUserIdsForNoMatch(): Promise<string[]> {
const rows = await this.wishlistRepository
.createQueryBuilder("wishlist")
- .select("DISTINCT wishlist.userId")+ .select("DISTINCT wishlist.userId", "userId")
.leftJoin("wishlist.user", "user")
.where("wishlist.isActive = :isActive", { isActive: true })
.andWhere("user.isPrivate = :isPrivate", { isPrivate: false })
- .getRawMany<Record<string, string>>();- const userIds = rows.map(r => Object.values(r)[0]).filter(Boolean) as string[];+ .getRawMany<{ userId: string }>();+ const userIds = rows.map(r => r.userId).filter(Boolean);
console.log(`📋 [no-match] Found ${userIds.length} distinct users with at least one active wishlist (including empty wishlists)`);
return userIds;
}

The Registry enables clients and services to:

- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)

@coderabbitaicoderabbitaiBotJan 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistent terminology: eNames vs W3IDs.

The change introduces "eNames" here, but the rest of the document continues to use "W3IDs" extensively (lines 7, 59, 61, 63, 77, 141, 149, 157). This inconsistency may confuse readers about whether these are the same concept or different identifiers.

Either revert this change to maintain "W3IDs" throughout, or update all references in the document to use "eNames" consistently.

📝 Option 1: Revert to maintain consistency with rest of document
-- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)+- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
-**Resolve eNames** to service endpoints (eVault URIs, platform URLs)
-**Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
🤖 Prompt for AI Agents
In `@docs/docs/Infrastructure/Registry.md` at line 13, The documentation uses
"W3IDs" elsewhere but the diff changed a single instance to "eNames" ("Resolve
eNames"); make terminology consistent by either reverting this change back to
"Resolve W3IDs" or systematically replacing all occurrences of "W3IDs" with
"eNames" across the document; update the line containing "Resolve eNames" and
then run a global search for "W3IDs" (and "eNames") in this file to ensure a
single chosen term is used consistently (update any headings, bullets, and
references such as the instances at lines referenced in the review).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

nack, eName == W3ID with @ prefix, which is globally resolvable

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@coodos, thank you for the clarification! I understand now—eNames are W3IDs with the @ prefix, so the change to "Resolve eNames" is more precise for the Registry's resolution functionality. My suggestion to revert was incorrect.


✏️ Learnings added
Learnt from: coodos
Repo: MetaState-Prototype-Project/prototype PR: 759
File: docs/docs/Infrastructure/Registry.md:13-13
Timestamp: 2026-01-30T20:36:08.155Z
Learning: In the MetaState-Prototype-Project/prototype codebase: eName is a W3ID with the `@` prefix and is globally resolvable. The Registry resolves eNames (W3IDs with @ prefix) to service endpoints.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Comment threaddocs/docs/Infrastructure/Registry.md Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@coodos
coodos merged commit 18a4049 into mainJan 30, 2026
3 checks passed
@coodos
coodos deleted the docs/registry-and-ontology-fixes branch January 30, 2026 20:36
Sign up for freeto 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

@coodos
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Docs/registry and ontology fixes - #759

Merged
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes
Jan 30, 2026
Merged

Docs/registry and ontology fixes#759
coodos merged 2 commits into
mainfrom
docs/registry-and-ontology-fixes

Conversation

@coodos

@coodoscoodos commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Description of change

address comments by @nsergey82

Issue Number

Type of change

  • Docs (changes to the documentation)

How the change has been tested

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

Summary by CodeRabbit

  • Documentation
    • Updated Registry documentation terminology and descriptions to enhance clarity and improve consistency across the guide.
    • Refined token verification explanations with more precise language to provide clearer guidance on verification procedures.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitaiBot commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Documentation updates to the Registry.md file with two terminology clarifications: replacing "Resolve W3IDs" with "Resolve eNames" and rewording the token verification description for improved clarity.

Changes

Cohort / File(s)Summary
Documentation Updates
docs/docs/Infrastructure/Registry.md
Terminology change from "W3IDs" to "eNames" and clarified token verification description to emphasize the JSON Web Key Set provided via public JWK endpoint.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • prototype#759: Includes identical documentation edits to Registry.md with the same terminology and token verification wording updates.

Poem

🐰 With ears held high and whiskers bright,
I hopped to fix the wording right,
From W3IDs to eNames we say,
And tokens verified the clearer way!

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check nameStatusExplanationResolution
Title check⚠️ WarningThe title 'Docs/registry and ontology fixes' only partially aligns with the changeset, which includes feature additions (no-match notification system) alongside documentation updates.Revise the title to accurately reflect all significant changes, such as 'Add no-match notifications and update registry documentation' or split into multiple focused PRs.
Description check⚠️ WarningThe description is incomplete and misleading. It only mentions documentation changes, but the changeset contains substantial feature additions (no-match notification system) that are not documented.Update the description to include details about the new no-match notification feature, explain how it integrates with existing services, and provide testing information for both features.
✅ Passed checks (1 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/registry-and-ontology-fixes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coodos
coodosforce-pushed the docs/registry-and-ontology-fixes branch from 0dae76b to a944efcCompareJanuary 30, 2026 20:34

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/docs/Infrastructure/Registry.md`:
- Line 13: The documentation uses "W3IDs" elsewhere but the diff changed a
single instance to "eNames" ("Resolve eNames"); make terminology consistent by
either reverting this change back to "Resolve W3IDs" or systematically replacing
all occurrences of "W3IDs" with "eNames" across the document; update the line
containing "Resolve eNames" and then run a global search for "W3IDs" (and
"eNames") in this file to ensure a single chosen term is used consistently
(update any headings, bullets, and references such as the instances at lines
referenced in the review).
- Line 15: Replace the grammatically incorrect line "Verify tokens supply JSON
Web Key Set to verify JWTs via public JWK endpoint" with a clear phrasing such
as "Verify JWTs using the JSON Web Key Set from the public JWK endpoint" (or
alternately "Verify tokens using the JSON Web Key Set provided via public JWK
endpoint" / "Supply JSON Web Key Set to verify JWTs via public JWK endpoint") so
the intent and grammar are fixed in the Registry.md documentation.
🧹 Nitpick comments (1)
platforms/dreamsync-api/src/services/AIMatchingService.ts (1)

145-156: Fragile userId extraction from raw query results.

Line 153 uses Object.values(r)[0] to extract the userId, which is implicit and could break if the query structure changes. Consider using an explicit column alias for more robust code:

Suggested improvement
 private async getAllWishlistUserIdsForNoMatch(): Promise<string[]> {
const rows = await this.wishlistRepository
.createQueryBuilder("wishlist")
- .select("DISTINCT wishlist.userId")+ .select("DISTINCT wishlist.userId", "userId")
.leftJoin("wishlist.user", "user")
.where("wishlist.isActive = :isActive", { isActive: true })
.andWhere("user.isPrivate = :isPrivate", { isPrivate: false })
- .getRawMany<Record<string, string>>();- const userIds = rows.map(r => Object.values(r)[0]).filter(Boolean) as string[];+ .getRawMany<{ userId: string }>();+ const userIds = rows.map(r => r.userId).filter(Boolean);
console.log(`📋 [no-match] Found ${userIds.length} distinct users with at least one active wishlist (including empty wishlists)`);
return userIds;
}

The Registry enables clients and services to:

- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)

@coderabbitaicoderabbitaiBotJan 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Inconsistent terminology: eNames vs W3IDs.

The change introduces "eNames" here, but the rest of the document continues to use "W3IDs" extensively (lines 7, 59, 61, 63, 77, 141, 149, 157). This inconsistency may confuse readers about whether these are the same concept or different identifiers.

Either revert this change to maintain "W3IDs" throughout, or update all references in the document to use "eNames" consistently.

📝 Option 1: Revert to maintain consistency with rest of document
-- **Resolve eNames** to service endpoints (eVault URIs, platform URLs)+- **Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
-**Resolve eNames** to service endpoints (eVault URIs, platform URLs)
-**Resolve W3IDs** to service endpoints (eVault URIs, platform URLs)
🤖 Prompt for AI Agents
In `@docs/docs/Infrastructure/Registry.md` at line 13, The documentation uses
"W3IDs" elsewhere but the diff changed a single instance to "eNames" ("Resolve
eNames"); make terminology consistent by either reverting this change back to
"Resolve W3IDs" or systematically replacing all occurrences of "W3IDs" with
"eNames" across the document; update the line containing "Resolve eNames" and
then run a global search for "W3IDs" (and "eNames") in this file to ensure a
single chosen term is used consistently (update any headings, bullets, and
references such as the instances at lines referenced in the review).

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

nack, eName == W3ID with @ prefix, which is globally resolvable

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@coodos, thank you for the clarification! I understand now—eNames are W3IDs with the @ prefix, so the change to "Resolve eNames" is more precise for the Registry's resolution functionality. My suggestion to revert was incorrect.


✏️ Learnings added
Learnt from: coodos
Repo: MetaState-Prototype-Project/prototype PR: 759
File: docs/docs/Infrastructure/Registry.md:13-13
Timestamp: 2026-01-30T20:36:08.155Z
Learning: In the MetaState-Prototype-Project/prototype codebase: eName is a W3ID with the `@` prefix and is globally resolvable. The Registry resolves eNames (W3IDs with @ prefix) to service endpoints.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

Comment threaddocs/docs/Infrastructure/Registry.md Outdated
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@coodos
coodos merged commit 18a4049 into mainJan 30, 2026
3 checks passed
@coodos
coodos deleted the docs/registry-and-ontology-fixes branch January 30, 2026 20:36
Sign up for freeto 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

@coodos