Skip to content

v0.8.63: Add source wiki and Agents/Workflows terminology#3316

Draft
Hmbown wants to merge 3 commits into
mainfrom
codex/v0.8.63-wiki-terminology
Draft

v0.8.63: Add source wiki and Agents/Workflows terminology#3316
Hmbown wants to merge 3 commits into
mainfrom
codex/v0.8.63-wiki-terminology

Conversation

@Hmbown

@Hmbown Hmbown commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • add generated source wiki under wiki/ and publish it at /wiki on the website
  • add docs/ORCHESTRATION_TERMINOLOGY.md to collapse public naming to Agents and Workflows
  • update existing orchestration docs to keep sub-agent/Fleet/WhaleFlow/Workroom as implementation terms

Validation

  • npm run lint
  • npm run build
  • git diff --cached --check

Notes

  • This is drafted for v0.8.63, not an immediate release push.
  • Existing unstaged web edits were left out of this branch.

@Hmbown Hmbown added this to the v0.8.63 milestone Jun 18, 2026
@Hmbown Hmbown added documentation Improvements or additions to documentation v0.8.63 Targeting v0.8.63 labels Jun 18, 2026

@greptile-apps greptile-apps Bot 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.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request updates the project documentation to align with new orchestration terminology, introducing 'Agents' and 'Workflows' as the primary public concepts. It also adds a new local-first Wiki section to the web application, rendering markdown files directly from the repository. The code review identified several critical issues in the newly implemented custom markdown parser and wiki helpers, including bugs in multi-line list parsing, GFM table separator validation, and relative link resolution.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment on lines +276 to +281
if (/^[-*]\s+/.test(trimmed)) {
const items: string[] = [];
while (i < lines.length && /^[-*]\s+/.test(lines[i].trim())) {
items.push(lines[i].trim().replace(/^[-*]\s+/, ""));
i += 1;
}

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.

high

The custom markdown parser fails to handle multi-line list items correctly. When a list item spans multiple lines (which is common in the wiki files, such as 10-constitution.md), the parser terminates the list block at the first line break because the subsequent line does not start with a list marker (- or *). This causes the remaining lines of the list item to be rendered as a separate paragraph outside the list structure.

We can fix this by consuming subsequent non-block lines as part of the current list item.

    if (/^[-*]\s+/.test(trimmed)) {
      const items: string[] = [];
      while (i < lines.length && /^[-*]\s+/.test(lines[i].trim())) {
        let item = lines[i].trim().replace(/^[-*]\s+/, "");
        i += 1;
        while (i < lines.length && lines[i].trim() && !isBlockStart(lines[i], lines[i + 1] ?? "")) {
          item += " " + lines[i].trim();
          i += 1;
        }
        items.push(item);
      }

Comment on lines +294 to +299
if (/^\d+\.\s+/.test(trimmed)) {
const items: string[] = [];
while (i < lines.length && /^\d+\.\s+/.test(lines[i].trim())) {
items.push(lines[i].trim().replace(/^\d+\.\s+/, ""));
i += 1;
}

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.

high

Similar to the unordered list parser, the ordered list parser also cuts multi-line list items in half. We should apply the same logic to consume subsequent non-block lines as part of the current ordered list item.

    if (/^\d+\.\s+/.test(trimmed)) {
      const items: string[] = [];
      while (i < lines.length && /^\d+\.\s+/.test(lines[i].trim())) {
        let item = lines[i].trim().replace(/^\d+\.\s+/, "");
        i += 1;
        while (i < lines.length && lines[i].trim() && !isBlockStart(lines[i], lines[i + 1] ?? "")) {
          item += " " + lines[i].trim();
          i += 1;
        }
        items.push(item);
      }

Comment thread web/app/[locale]/wiki/[slug]/page.tsx Outdated

const [rawPath, hash] = href.split("#", 2);
const filename = rawPath.split("/").pop()?.replace(/^\.\//, "");
const page = filename ? WIKI_PAGES.find((candidate) => candidate.file === filename) : undefined;

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.

medium

The current implementation of normalizeWikiHref uses WIKI_PAGES.find with an exact match on candidate.file === filename. This means that any relative markdown link that does not include the .md extension (e.g., [Overview](01-overview)) will fail to resolve and will be rendered as a plain span instead of a link.

We should leverage the existing getWikiPage helper, which is designed to handle both slugs and filenames.

Suggested change
const page = filename ? WIKI_PAGES.find((candidate) => candidate.file === filename) : undefined;
const page = filename ? getWikiPage(filename) : undefined;

Comment thread web/lib/wiki.ts Outdated
Comment on lines +146 to +148
export function getWikiPage(slug: string): WikiPage | undefined {
return WIKI_PAGES.find((page) => page.slug === slug || page.file === `${slug}.md`);
}

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.

medium

The getWikiPage helper currently fails to find pages when queried with a .md filename (e.g., getWikiPage("01-overview.md")). This is because page.slug is "01-overview" and page.file is "01-overview.md", but the check page.file === \${slug}.md`resolves topage.file === "01-overview.md.md"`.

We should normalize the input by stripping the .md extension before performing the lookup to ensure it handles both slugs and filenames correctly.

Suggested change
export function getWikiPage(slug: string): WikiPage | undefined {
return WIKI_PAGES.find((page) => page.slug === slug || page.file === `${slug}.md`);
}
export function getWikiPage(slugOrFile: string): WikiPage | undefined {
const clean = slugOrFile.replace(/\.md$/, "");
return WIKI_PAGES.find((page) => page.slug === clean || page.file === slugOrFile);
}

Comment on lines +165 to +167
function isTableSeparator(line: string): boolean {
return /^\s*\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/.test(line);
}

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.

medium

The isTableSeparator regex strictly requires at least 3 dashes (-{3,}) per cell. However, the GitHub Flavored Markdown (GFM) specification only requires at least 1 dash per cell in the delimiter row (e.g., | - | - | is a valid table separator). Any table using 1 or 2 dashes will silently fail to render as a table.

We should update the regex to allow one or more dashes (-+) to be fully GFM-compliant.

Suggested change
function isTableSeparator(line: string): boolean {
return /^\s*\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?\s*$/.test(line);
}
function isTableSeparator(line: string): boolean {
return /^\s*\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)+\|?\s*$/.test(line);
}

@greptile-apps greptile-apps Bot 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.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@greptile-apps greptile-apps Bot 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.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation v0.8.63 Targeting v0.8.63

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant