Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
be0ed5d
Add repository banner, change copyright current year
vasilelucianbrinzei Mar 11, 2026
9492ade
Merge branch 'main' into main
vasilelucianbrinzei Mar 11, 2026
a8fb03f
Update repo banner update dimensions
vasilelucianbrinzei Mar 11, 2026
fc12ef0
Updated path and banner image
vasilelucianbrinzei Mar 11, 2026
8414f90
Merge branch 'main' into main
vasilelucianbrinzei Mar 11, 2026
3e8bb80
Delete test file and update banner file path
vasilelucianbrinzei Mar 11, 2026
9b68c2c
Merge branch 'main' into main
vasilelucianbrinzei Mar 11, 2026
3e99c4c
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Mar 16, 2026
96e97da
Merge branch 'main' of https://github.com/vasilelucianbrinzei/common
vasilelucianbrinzei Mar 16, 2026
b6b5128
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Mar 23, 2026
ea2da71
Merge branch 'oracle-livelabs:main' into main
vasilelucianbrinzei Apr 21, 2026
0db484b
delete duplicate in manifest.json
vasilelucianbrinzei Apr 21, 2026
4836701
Merge branch 'oracle-livelabs:main' into main
vasilelucianbrinzei Apr 23, 2026
de12580
qa project
vasilelucianbrinzei Apr 30, 2026
8dd3ea1
fixed images in new author guide
vasilelucianbrinzei Apr 30, 2026
18a5570
codex skills installers and guides
vasilelucianbrinzei May 11, 2026
72a5ec9
Merge branch 'main' into main
vasilelucianbrinzei May 11, 2026
de58100
update existing skills, added skill, added livestack main directory, …
vasilelucianbrinzei May 11, 2026
07e7d05
Merge branch 'main' of https://github.com/vasilelucianbrinzei/common
vasilelucianbrinzei May 11, 2026
62504b7
Update skill directory tree
vasilelucianbrinzei May 12, 2026
8bb7ab1
Merge branch 'main' into main
vasilelucianbrinzei May 12, 2026
23619b2
redesign
vasilelucianbrinzei May 12, 2026
a722328
Merge branch 'main' into main
vasilelucianbrinzei May 13, 2026
422b87e
fix redwood skill causing deploy issue
vasilelucianbrinzei May 13, 2026
faa0a9f
Merge branch 'main' into main
vasilelucianbrinzei May 13, 2026
db1a181
author guide redesign; analytics QA and refactoring
vasilelucianbrinzei May 13, 2026
cc5395e
Merge branch 'oracle-livelabs:main' into main
vasilelucianbrinzei May 13, 2026
b2e0a85
archived orchestrator skill
vasilelucianbrinzei May 14, 2026
4133932
Merge branch 'main' into main
vasilelucianbrinzei May 14, 2026
1ec12aa
Redesign LiveLabs analytics dashboard shell
vasilelucianbrinzei May 14, 2026
033ac2b
Merge branch 'main' into main
vasilelucianbrinzei May 14, 2026
5814595
analytics corrections
vasilelucianbrinzei May 14, 2026
ad2a39c
Merge branch 'main' of https://github.com/vasilelucianbrinzei/common
vasilelucianbrinzei May 14, 2026
eb7bf28
Merge upstream main into fork main
vasilelucianbrinzei May 15, 2026
75de924
fix readme and fix skill directory structure and content
vasilelucianbrinzei May 15, 2026
7cf8a3f
analytics rework
vasilelucianbrinzei May 15, 2026
858ba00
Merge branch 'main' into main
vasilelucianbrinzei May 15, 2026
803b905
rework search component and results page
vasilelucianbrinzei May 16, 2026
ae3c4d1
Design, pagination, search functionality rework
vasilelucianbrinzei May 16, 2026
2913b8d
Merge upstream main into PR 613 branch
vasilelucianbrinzei May 16, 2026
c0e9377
Fix PR 613 validation blockers
vasilelucianbrinzei May 16, 2026
98f5dfd
Fix minor url and title bugs
vasilelucianbrinzei May 18, 2026
0e72636
Merge branch 'main' into main
vasilelucianbrinzei May 18, 2026
fd30864
analytics elements redesign
vasilelucianbrinzei May 18, 2026
09b71d9
Merge branch 'main' of https://github.com/vasilelucianbrinzei/common
vasilelucianbrinzei May 18, 2026
8e47d9d
Merge branch 'main' into main
vasilelucianbrinzei May 18, 2026
27f7a32
Merge branch 'main' into main
vasilelucianbrinzei May 18, 2026
dcafd1d
broken links fixes
vasilelucianbrinzei May 18, 2026
9ad42bc
Merge branch 'main' of https://github.com/vasilelucianbrinzei/common
vasilelucianbrinzei May 18, 2026
1508a8d
analytics updating index
vasilelucianbrinzei May 21, 2026
e990e53
Skills migration project work
vasilelucianbrinzei May 21, 2026
3dc4db2
Merge branch 'main' into main
vasilelucianbrinzei May 21, 2026
a314692
QA Automation clean up work
vasilelucianbrinzei May 25, 2026
1aafea0
Merge branch 'main' into main
vasilelucianbrinzei May 25, 2026
579cce4
Trim QA automation PR scope
vasilelucianbrinzei May 25, 2026
6ef1242
projects work
vasilelucianbrinzei May 29, 2026
f16e46d
Merge branch 'main' into main
vasilelucianbrinzei May 29, 2026
d228f3d
env gitignore files, page reroutes
vasilelucianbrinzei Jun 5, 2026
90fdd92
Merge upstream main into PR 631
vasilelucianbrinzei Jun 5, 2026
76ff61f
remove files, change gitignore
vasilelucianbrinzei Jun 5, 2026
91d9e21
new author guide and qa automation
vasilelucianbrinzei Jun 11, 2026
6691d96
Merge branch 'main' into main
vasilelucianbrinzei Jun 11, 2026
2efc46c
analytics work
vasilelucianbrinzei Jun 16, 2026
333b315
Merge branch 'main' into main
vasilelucianbrinzei Jun 16, 2026
94963af
projects and skills directory work
vasilelucianbrinzei Jun 17, 2026
db5bf51
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jun 17, 2026
1f4c6a2
fix merge conflicts
vasilelucianbrinzei Jun 17, 2026
f322a04
analytics tags hide
vasilelucianbrinzei Jun 17, 2026
e8062bb
Merge branch 'main' into main
vasilelucianbrinzei Jun 17, 2026
0ed8409
analytics work
vasilelucianbrinzei Jun 24, 2026
4fffb91
Merge branch 'main' into main
vasilelucianbrinzei Jun 24, 2026
979e511
analytics and new author guide work
vasilelucianbrinzei Jun 29, 2026
4bf3c39
Merge branch 'main' into main
vasilelucianbrinzei Jun 29, 2026
cc5922d
new author guide sections refactoring
vasilelucianbrinzei Jul 1, 2026
28ce832
Merge branch 'main' into main
vasilelucianbrinzei Jul 1, 2026
70bee6b
new author guide and skills work
vasilelucianbrinzei Jul 1, 2026
54a602f
analytics menu refactoring
vasilelucianbrinzei Jul 2, 2026
672e750
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 2, 2026
95447d4
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 2, 2026
4bda404
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 2, 2026
6e54519
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 2, 2026
927747a
projects work
vasilelucianbrinzei Jul 2, 2026
c8bf8a1
minor fix
vasilelucianbrinzei Jul 3, 2026
73898ab
Merge branch 'main' into main
vasilelucianbrinzei Jul 3, 2026
0305c65
analytics tags fix
vasilelucianbrinzei Jul 3, 2026
ccb32d1
Merge branch 'main' into main
vasilelucianbrinzei Jul 3, 2026
9f001f6
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 3, 2026
461395a
add project to common
vasilelucianbrinzei Jul 6, 2026
77194e0
getting ready workshop fixes
vasilelucianbrinzei Jul 6, 2026
a9d9b03
Update new author guide status graph
vasilelucianbrinzei Jul 6, 2026
032c37b
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 6, 2026
050188c
Make WMS prompt examples copy-ready
vasilelucianbrinzei Jul 7, 2026
c498586
Update WMS prompt examples for agent memory workshop
vasilelucianbrinzei Jul 8, 2026
c2576bf
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 8, 2026
5ccf66e
Add getting ready workshop Pages entry point
vasilelucianbrinzei Jul 8, 2026
2c42df2
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 9, 2026
3ab7bba
new author guide work
vasilelucianbrinzei Jul 9, 2026
7fa3d78
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 13, 2026
09c019d
getting ready guide and author guide work
vasilelucianbrinzei Jul 16, 2026
c0f04de
Merge branch 'main' into main
vasilelucianbrinzei Jul 16, 2026
cf19443
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 16, 2026
0571a07
getting ready guide num fix
vasilelucianbrinzei Jul 16, 2026
cc88ed1
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 16, 2026
b0fc51e
getting ready guide and author guide fixes
vasilelucianbrinzei Jul 17, 2026
4d6c5d3
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 17, 2026
7a800de
Projects work
vasilelucianbrinzei Jul 20, 2026
13c564f
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 20, 2026
1e8ec6b
getting ready introduction tldr refactor
vasilelucianbrinzei Jul 20, 2026
ec8b816
new author guide homepage fix
vasilelucianbrinzei Jul 21, 2026
cb3f56f
Merge branch 'main' into main
vasilelucianbrinzei Jul 21, 2026
845e4c6
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 27, 2026
48ebefc
projects work
vasilelucianbrinzei Jul 28, 2026
3687086
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 28, 2026
c82f4fe
delete lab 7
vasilelucianbrinzei Jul 28, 2026
7d93d92
Merge branch 'main' into main
vasilelucianbrinzei Jul 28, 2026
12e505b
event delivery guide quick fixes
vasilelucianbrinzei Jul 28, 2026
7805cf5
Merge branch 'main' of https://github.com/vasilelucianbrinzei/common
vasilelucianbrinzei Jul 28, 2026
7bfa653
delete not needed file
vasilelucianbrinzei Jul 28, 2026
52325fd
Merge branch 'main' into main
vasilelucianbrinzei Jul 28, 2026
ba6423b
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Jul 31, 2026
7de7f18
Keep LiveLabs Analytics database material private
vasilelucianbrinzei Jul 31, 2026
a90a2cf
event delivery and author guide projects work
vasilelucianbrinzei Aug 4, 2026
081489c
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Aug 4, 2026
88aa8dd
NoDoc page and documentation
vasilelucianbrinzei Aug 5, 2026
d248f42
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Aug 6, 2026
767b65b
Analytics and skill fix work
vasilelucianbrinzei Aug 6, 2026
fe624b4
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Aug 6, 2026
6924937
LL Analytics and New author guide Projects work
vasilelucianbrinzei Aug 18, 2026
7a36418
validation fix
vasilelucianbrinzei Aug 18, 2026
b2fb34e
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Aug 25, 2026
2083bd1
Projects work and workshop fix
vasilelucianbrinzei Aug 25, 2026
ea6e5db
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Aug 27, 2026
c782f4b
new author guide work
vasilelucianbrinzei Aug 27, 2026
4ca5805
disable validation and update nodoc documentation
vasilelucianbrinzei Aug 27, 2026
f35a726
new author guide index fix
vasilelucianbrinzei Aug 27, 2026
5c5d184
Merge branch 'main' into main
vasilelucianbrinzei Aug 27, 2026
29af535
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Aug 28, 2026
3788bed
new author guide fixes
vasilelucianbrinzei Aug 31, 2026
0e80515
new author guide fix
vasilelucianbrinzei Aug 31, 2026
52e59ed
Merge branch 'main' into main
vasilelucianbrinzei Aug 31, 2026
86f6b77
new author guide fix images
vasilelucianbrinzei Aug 31, 2026
1feca73
Merge branch 'main' of https://github.com/vasilelucianbrinzei/common
vasilelucianbrinzei Aug 31, 2026
d7310fd
Merge branch 'main' into main
vasilelucianbrinzei Aug 31, 2026
8de9aac
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Sep 2, 2026
cecc5b1
quick guide and nodoc documentation work
vasilelucianbrinzei Sep 2, 2026
99c39db
Merge branch 'main' of https://github.com/vasilelucianbrinzei/common
vasilelucianbrinzei Sep 2, 2026
44b284f
Quick guide nodoc documentation update
vasilelucianbrinzei Sep 3, 2026
7a1114d
Merge branch 'main' into main
vasilelucianbrinzei Sep 3, 2026
3652715
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Sep 3, 2026
0e4766c
quick guide pages io reroute fix nodoc documentation update
vasilelucianbrinzei Sep 3, 2026
ce2ec50
quick guide nodoc documentation updates
vasilelucianbrinzei Sep 3, 2026
066e567
Merge branch 'main' into main
vasilelucianbrinzei Sep 3, 2026
5ad766c
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Sep 4, 2026
2f77316
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Sep 7, 2026
1919be8
new author guide update and screenshot skill font update
vasilelucianbrinzei Sep 7, 2026
c453a42
Merge remote-tracking branch 'upstream/main'
vasilelucianbrinzei Sep 10, 2026
024058f
quick guide work and ll analytics tables load fix
vasilelucianbrinzei Sep 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 2 additions & 15 deletions livelabs-analytics/assets/css/dashboard.css
Original file line number Diff line number Diff line change
Expand Up @@ -919,28 +919,15 @@
.lazy-section-panel {
display: flex;
align-items: center;
justify-content: space-between;
justify-content: flex-start;
gap: 16px;
padding: 16px 18px;
border: 1px solid var(--line-soft);
border-radius: 10px;
background: var(--surface);
}
.lazy-section-panel p { margin: 0; color: var(--muted); }
.lazy-section-button {
flex: 0 0 auto;
padding: 9px 14px;
border: 1px solid var(--accent);
border-radius: 6px;
background: var(--accent);
color: #fff;
font: inherit;
font-weight: 700;
cursor: pointer;
}
.lazy-section-button:hover,
.lazy-section-button:focus-visible { background: var(--oracle-red); }
.lazy-section[aria-busy="true"] .lazy-section-button { pointer-events: none; opacity: .7; }
.lazy-section-status { font-style: italic; }
.fallback-logic-body { gap: 16px; }
.fallback-example-card,
.fallback-explanation-card {
Expand Down
13 changes: 5 additions & 8 deletions livelabs-analytics/assets/js/dashboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -942,7 +942,7 @@
section.dataset.lazyError = "true";
section.setAttribute("aria-busy", "false");
const panel = section.querySelector(".lazy-section-panel");
if (panel) panel.innerHTML = `<p>${escapeHtml(message)}</p><button class="lazy-section-button" type="button" data-load-lazy-section="${escapeHtml(section.dataset.lazySection || "")}">Try again</button>`;
if (panel) panel.innerHTML = `<p class="lazy-section-status" role="alert">${escapeHtml(message)}</p>`;
}
async function loadLazySection(sectionId) {
const placeholder = lazySectionPlaceholder(sectionId);
Expand Down Expand Up @@ -992,13 +992,6 @@
}
function configureLazySections() {
document.addEventListener("click", (event) => {
const loadButton = event.target.closest("[data-load-lazy-section]");
if (loadButton) {
event.preventDefault();
const sectionId = loadButton.dataset.loadLazySection;
loadLazySection(sectionId).then((section) => section?.scrollIntoView({ block: "start", behavior: "smooth" }));
return;
}
const anchor = event.target.closest('a[href^="#"]');
const sectionId = anchor?.getAttribute("href")?.slice(1);
if (!sectionId || !lazySectionPlaceholder(sectionId)) return;
Expand All @@ -1008,6 +1001,10 @@
section?.scrollIntoView({ block: "start", behavior: "smooth" });
});
});
document.querySelectorAll("[data-lazy-section]").forEach((section) => {
const sectionId = section.dataset.lazySection;
if (sectionId) void loadLazySection(sectionId);
});
const initialSectionId = location.hash.slice(1);
if (initialSectionId && lazySectionPlaceholder(initialSectionId)) {
loadLazySection(initialSectionId).then((section) => section?.scrollIntoView({ block: "start" }));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,27 @@ const sections = [
{
id: "top-performers",
label: "Top Performers",
description: "Load the scored Top 100 workshop and sprint review tables when you need them.",
description: "The scored Top 100 workshop and sprint review tables load automatically in the background.",
},
{
id: "at-risk-content",
label: "At-Risk Content",
description: "Load the at-risk review queue when you need to assess retirement signals.",
description: "The at-risk review queue loads automatically in the background.",
},
{
id: "retire-now-content",
label: "Retire-Now Content",
description: "Load the governed retirement review queue when you need it.",
description: "The governed retirement review queue loads automatically in the background.",
},
{
id: "replacement-suggestions",
label: "Replacement Suggestions",
description: "Load the algorithmic successor review queue when you need it.",
description: "The algorithmic successor review queue loads automatically in the background.",
},
{
id: "disabled-content",
label: "Disabled Content",
description: "Load the disabled-content audit tables when you need them.",
description: "The disabled-content audit tables load automatically in the background.",
},
];

Expand All @@ -53,7 +53,7 @@ function sectionBounds(html, id) {
}

function placeholder(section) {
return `<section class="section lazy-section" id="${section.id}" data-lazy-section="${section.id}" data-lazy-src="./assets/fragments/${section.id}.html" aria-busy="false"><div class="section-head"><div class="section-head-top"><h2>${section.label}</h2></div><p>${section.description}</p></div><div class="lazy-section-panel"><p>This large review queue is loaded on demand so the dashboard opens quickly.</p><button class="lazy-section-button" type="button" data-load-lazy-section="${section.id}">Load ${section.label}</button></div></section>`;
return `<section class="section lazy-section" id="${section.id}" data-lazy-section="${section.id}" data-lazy-src="./assets/fragments/${section.id}.html" aria-busy="true"><div class="section-head"><div class="section-head-top"><h2>${section.label}</h2></div><p>${section.description}</p></div><div class="lazy-section-panel"><p class="lazy-section-status" role="status">Loading review queue in the background...</p></div></section>`;
}

let html = fs.readFileSync(htmlPath, "utf8");
Expand Down
8 changes: 6 additions & 2 deletions livelabs-analytics/dev/tests/static-dashboard.spec.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,12 @@ test("approved dashboard shell and Inventory dimensions remain stable", async ({
"Retirement"
]);
await expect(page.locator("h3", { hasText: /^Top (10|50|100)$/ })).toHaveCount(0);
await page.locator('[data-load-lazy-section="replacement-suggestions"]').click();
await expect(page.locator(".lazy-section-button")).toHaveCount(0);
await expect(page.locator('#top-performers [data-filter-table="top-performer-top-100-workshops"]')).toHaveCount(1);
await expect(page.locator('#at-risk-content [data-filter-table="at-risk-top-100-workshops"]')).toHaveCount(1);
await expect(page.locator('#retire-now-content [data-filter-table="retire-now-top-100-workshops"]')).toHaveCount(1);
await expect(page.locator('#replacement-suggestions [data-filter-table="replacement-recommendations"]')).toHaveCount(1);
await expect(page.locator('#disabled-content [data-filter-table="disabled-workshops"]')).toHaveCount(1);
await expect(page.locator('#replacement-recommendations tbody > tr.expandable-row[data-filter-row="true"]')).toHaveCount(100);
const dashboardHeader = await page.locator("main > .page-header").boundingBox();

Expand Down Expand Up @@ -81,7 +86,6 @@ test("search selection and both Back to Dashboard controls reset the search UI",

test("rank column stays clickable while hidden from the sort dropdown", async ({ page }) => {
await page.goto("/", { waitUntil: "networkidle" });
await page.locator('[data-load-lazy-section="top-performers"]').click();
const table = page.locator('[data-filter-table="top-performer-top-100-workshops"]');
const tableDisclosure = page.locator("details.ranked-table-disclosure").filter({ has: table }).first();
if (!(await tableDisclosure.getAttribute("open"))) await tableDisclosure.locator(":scope > summary").click();
Expand Down
10 changes: 5 additions & 5 deletions livelabs-analytics/index.html

Large diffs are not rendered by default.

98 changes: 95 additions & 3 deletions new-author-guide/assets/css/author-guide-improvements.css
Original file line number Diff line number Diff line change
Expand Up @@ -4388,9 +4388,14 @@ body.author-nav-closed #app[data-redwood-creator-pass="2026-05-25"] .app-shell {

/* Recording components stay in the source for the next release, but are not shown in this functionality-and-content release. */
#app[data-redwood-creator-pass="2026-05-25"] [data-video-card],
#app[data-redwood-creator-pass="2026-05-25"] [data-video-status="preview"],
#app[data-redwood-creator-pass="2026-05-25"] [data-video-status="future"],
#app[data-redwood-creator-pass="2026-05-25"] [data-video-availability="future"],
#app[data-redwood-creator-pass="2026-05-25"] .media-player-card,
#app[data-redwood-creator-pass="2026-05-25"] .video-placeholder-card,
#app[data-redwood-creator-pass="2026-05-25"] .nodoc-task-media,
#app[data-redwood-creator-pass="2026-05-25"] video {
#app[data-redwood-creator-pass="2026-05-25"] video,
#app[data-redwood-creator-pass="2026-05-25"] audio {
display: none !important;
}

Expand Down Expand Up @@ -5410,6 +5415,46 @@ body.home-no-scroll #app .hub-hero {
margin-bottom: 0;
}

#nodocMode .nodoc-vibe-introduction {
margin: .9rem 0 .25rem;
padding: .85rem 1rem;
border-left: 3px solid rgba(199, 70, 52, .35);
border-radius: 8px;
background: rgba(246, 248, 250, .68);
}

#nodocMode .nodoc-vibe-introduction h5 {
margin: 0 0 .45rem;
color: #172b4d;
font-size: 1rem;
}

#nodocMode .nodoc-architecture-scope-detail {
display: grid;
gap: .45rem;
margin: -.15rem 0 .15rem;
padding: .75rem .85rem;
border-left: 3px solid rgba(67, 124, 148, .32);
border-radius: 7px;
background: rgba(246, 248, 250, .72);
}

#nodocMode .nodoc-architecture-scope-detail[hidden] {
display: none;
}

#nodocMode .nodoc-architecture-scope-detail > label {
margin: 0;
color: #172b4d;
font-size: .88rem;
font-weight: 700;
}

#nodocMode .nodoc-architecture-scope-detail > .nodoc-codex-prompt-meta {
display: block;
margin: 0;
}

#nodocMode .nodoc-codex-prompt-builder {
display: grid;
grid-template-columns: minmax(0, 1fr);
Expand Down Expand Up @@ -5547,7 +5592,9 @@ body.home-no-scroll #app .hub-hero {
#nodocMode .nodoc-codex-prompt-scope,
#nodocMode .nodoc-codex-prompt-sources,
#nodocMode .nodoc-codex-prompt-constraints,
#nodocMode .nodoc-codex-skill-resource-input {
#nodocMode .nodoc-codex-skill-resource-input,
#nodocMode .nodoc-custom-prompt-instruction,
#nodocMode .nodoc-custom-prompt-complexity {
width: auto;
max-width: 100%;
min-width: 0;
Expand All @@ -5573,7 +5620,9 @@ body.home-no-scroll #app .hub-hero {
#nodocMode .nodoc-codex-prompt-scope:focus,
#nodocMode .nodoc-codex-prompt-sources:focus,
#nodocMode .nodoc-codex-prompt-constraints:focus,
#nodocMode .nodoc-codex-skill-resource-input:focus {
#nodocMode .nodoc-codex-skill-resource-input:focus,
#nodocMode .nodoc-custom-prompt-instruction:focus,
#nodocMode .nodoc-custom-prompt-complexity:focus {
border-color: #c74634;
box-shadow: 0 0 0 .18rem rgba(199, 70, 52, .14);
}
Expand Down Expand Up @@ -5975,6 +6024,40 @@ body.home-no-scroll #app .hub-hero {
object-fit: contain;
}

#nodocMode .nodoc-availability-badge {
display: inline-flex;
align-items: center;
min-height: 1.6em;
padding: .2em .5em;
border: 1px solid rgba(22, 21, 19, .18);
border-radius: 999px;
color: #6b7280;
background: #f4f4f2;
font-family: "Oracle Sans", "Segoe UI", Arial, sans-serif;
font-size: .3em;
font-weight: 700;
line-height: 1;
letter-spacing: .02em;
white-space: nowrap;
}

#nodocMode .nodoc-participation-note {
max-width: 72ch;
margin: .9rem 0 0;
color: #161513;
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(1.08rem, 1.55vw, 1.28rem);
font-weight: 500;
line-height: 1.45;
}

#nodocMode .nodoc-participation-note a {
color: #8f2f20;
font-weight: 600;
text-underline-offset: .12em;
text-decoration-thickness: 1px;
}

#nodocMode .nodoc-title-link:hover,
#nodocMode .nodoc-title-link:focus-visible {
opacity: .82;
Expand Down Expand Up @@ -6045,6 +6128,15 @@ body.home-no-scroll #app .hub-hero {
padding: 28px 22px 24px !important;
}

#app[data-redwood-creator-pass="2026-05-25"] #nodocMode .nodoc-page-hero .mode-title {
flex-wrap: wrap;
white-space: normal;
}

#nodocMode .nodoc-availability-badge {
font-size: .31em;
}

#nodocMode .nodoc-tree-group > summary {
display: block;
}
Expand Down
40 changes: 32 additions & 8 deletions new-author-guide/assets/js/author-guide-app.js
Original file line number Diff line number Diff line change
Expand Up @@ -2905,24 +2905,48 @@
}

function hydrateVideoCards(root) {
var scope = root || document;

if (window.RedwoodVideoPlayer && typeof window.RedwoodVideoPlayer.hydrate === "function") {
window.RedwoodVideoPlayer.hydrate(root || document);
window.RedwoodVideoPlayer.hydrate(scope);
}

hidePreviewVideoComponents(scope);
}

function hidePreviewVideoComponents(root) {
var scope = root || document;

scope.querySelectorAll(
'[data-video-card], [data-video-status="preview"], [data-video-availability="future"], .media-player-card, .video-placeholder-card, video, audio'
).forEach(function (node) {
node.hidden = true;
node.setAttribute("aria-hidden", "true");
if (node.matches('[data-video-card], [data-video-status="preview"], .media-player-card, .video-placeholder-card')) {
node.setAttribute("data-video-availability", "future");
}
});
}

function renderVideoCardMount(config) {
var options = Object.assign({}, config || {});

// Preview/template recordings are intentionally disabled. Re-enable this
// path only when an approved product recording is supplied explicitly.
if (!options.src || options.approvedRecording !== true) {
return "";
}

if (!window.RedwoodVideoPlayer || typeof window.RedwoodVideoPlayer.createMountMarkup !== "function") {
return "";
}

delete options.approvedRecording;
return window.RedwoodVideoPlayer.createMountMarkup(Object.assign({
src: "../assets/media/guide/author-guide-template.mp4",
captions: "../assets/media/guide/author-guide-template.vtt",
status: "preview",
sourceNote: "Preview asset only. Use the written steps and transcript until the approved walkthrough is supplied.",
autoplay: true,
loop: true
}, config || {}));
status: "approved",
autoplay: false,
loop: false
}, options));
}

function openBubble(id) {
Expand Down
Loading
Loading