Skip to content

docs: split DESIGN_SPEC.md into 7 focused design pages#308

Merged
Aureliolo merged 6 commits intomainfrom
docs/split-design-spec
Mar 11, 2026
Merged

docs: split DESIGN_SPEC.md into 7 focused design pages#308
Aureliolo merged 6 commits intomainfrom
docs/split-design-spec

Conversation

@Aureliolo
Copy link
Copy Markdown
Owner

@Aureliolo Aureliolo commented Mar 11, 2026

Summary

  • Split the monolithic DESIGN_SPEC.md (3500+ lines) into 7 focused pages under docs/design/: index, agents, organization, communication, engine, memory, operations
  • DESIGN_SPEC.md is now a lightweight pointer file linking to the individual design pages
  • Updated mkdocs.yml navigation with new Design, Roadmap, and Reference sections
  • Updated all cross-references in CLAUDE.md, README.md, architecture docs, roadmap, and reference pages to use page-based links instead of section numbers
  • Updated Astro landing page links to point to /docs/design/ instead of /docs/design_spec/
  • Added docs/architecture/tech-stack.md, docs/roadmap/ pages, and docs/reference/ pages to MkDocs nav
  • README refreshed with centered badges, capability table, and updated documentation links

Test plan

  • uv run mkdocs build --strict passes
  • Verify all internal links resolve on deployed preview
  • Verify landing page links navigate to correct docs pages
  • Spot-check design page content matches original DESIGN_SPEC.md sections

Closes #303

🤖 Generated with Claude Code

Split the 3527-line monolithic DESIGN_SPEC.md into a structured
documentation site per issue #303:

- 7 design pages under docs/design/ (agents, organization,
  communication, engine, memory, operations, index)
- Supporting pages: tech-stack, roadmap (3 pages), reference (2 pages)
- Rewritten decision log as scannable tables by domain
- Root DESIGN_SPEC.md replaced with ~40-line pointer file
- Deleted old docs/design_spec.md
- Rewritten README.md with badges, capability cards, mermaid diagram
- Updated all cross-references across 8+ files
- ADR files added to mkdocs.yml nav
- MkDocs Material features: tabs, collapsible sections, admonitions,
  mermaid diagrams, grid cards, definition lists

Validated by 6 parallel agents checking completeness, factual
correctness, statement preservation, link integrity, issue
requirements, and clarity. All findings addressed.

Closes #303
Update CLAUDE.md, README.md, mkdocs.yml, and all cross-references
to point to the new docs/design/ pages instead of monolithic
DESIGN_SPEC.md section numbers. Add tech-stack, roadmap, and
reference pages to MkDocs navigation.
Copilot AI review requested due to automatic review settings March 11, 2026 21:48
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 11, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 11, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: eb7c3be2-b475-49fa-a824-d13f82500d9b

📥 Commits

Reviewing files that changed from the base of the PR and between c317f75 and 2f66907.

📒 Files selected for processing (6)
  • CLAUDE.md
  • docs/decisions/ADR-001-memory-layer.md
  • docs/decisions/ADR-002-design-decisions-batch-1.md
  • docs/decisions/ADR-003-documentation-architecture.md
  • docs/roadmap/index.md
  • mkdocs.yml

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Split and published focused design pages (Agents & HR, Organization, Communication, Engine, Memory, Operations)
    • Added Roadmap, Research, and Standards reference docs
  • Documentation

    • Major README redesign with branding, badges, feature overview, and architecture diagram
    • Reworked docs navigation, tech stack, and decision log format; expanded docs index
  • Chores

    • Site UI tweaks (GitHub buttons, copyable quick-start terminal snippet)
    • Trimmed example Docker env vars and updated quick-start links

Walkthrough

Splits the monolithic DESIGN_SPEC into a multi-page design docs set, adds tech-stack and decision-log pages, reorganizes MkDocs/site navigation and README, adds roadmap/reference content and small site UI tweaks, and updates dozens of module docstrings to point at the new design pages. No runtime code changes.

Changes

Cohort / File(s) Summary
Design pages
docs/design/index.md, docs/design/agents.md, docs/design/organization.md, docs/design/communication.md, docs/design/engine.md, docs/design/memory.md, docs/design/operations.md
Adds seven new, content-rich design documents covering vision, agents/HR, org templates, communication, engine, memory, and operations.
Architecture & decision log
docs/architecture/tech-stack.md, docs/architecture/decisions.md, docs/architecture/index.md
Introduces a tech-stack page and a consolidated decision log; updates architecture index to reference new pages.
Removed ADRs / Decision cleanup
docs/decisions/ADR-001-memory-layer.md (deleted), docs/decisions/ADR-002-... (deleted), docs/decisions/ADR-003-documentation-architecture.md (removed)
Deletes several old ADR files and replaces ADR-centric content with the new decision-log format.
Roadmap & reference
docs/roadmap/index.md, docs/roadmap/open-questions.md, docs/roadmap/future-vision.md, docs/reference/research.md, docs/reference/standards.md
Adds roadmap pages, open questions, future vision, research comparisons, and standards reference material.
Docs landing & site UI
docs/index.md, docs/getting_started.md, docs/user_guide.md, site/src/pages/index.astro, site/src/layouts/Base.astro
Updates docs landing with design topic cards and quickstart links to docs/design/; adds CTA/layout tweaks, GitHub buttons, and copyable terminal UI.
Top-level docs & README
README.md, CLAUDE.md
Major README rework (branding, badges, capabilities, architecture diagram); CLAUDE.md updated to point at new design pages and adjusted wording.
MkDocs nav
mkdocs.yml
Reworks navigation: replaces single Design spec with a Design group (subpages), adds Roadmap and Reference, expands API Reference, and sets homepage extra.
Docker examples
docker/.env.example, docker/compose.override.yml
Removes the LLM API key example block and the default AI_COMPANY_LOG_LEVEL entry from example env/compose override.
Docstring updates across codebase
src/ai_company/... (many files under budget/, communication/, core/, engine/, hr/, persistence/, security/, providers/, observability/, etc.)
Replaces references to DESIGN_SPEC with pointers to the appropriate new design pages in module/class docstrings and comments. No API, type, or behavior changes.
Site landing HTML tweak
site/src/pages/index.astro, site/src/layouts/Base.astro
Adds GitHub Buttons script, reflows CTA groups, adds copyable terminal UI and Star/Fork button group (presentation-only).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: splitting DESIGN_SPEC.md into seven focused design pages. It is clear, specific, and highlights the primary refactoring effort.
Description check ✅ Passed The PR description is comprehensive and directly related to the changeset. It outlines the split, points to affected files, and includes verification steps. It aligns well with the raw summary.
Linked Issues check ✅ Passed The PR fulfills issue #303's core objectives: splitting DESIGN_SPEC.md into 7 focused design pages, removing status labels from design docs, creating a pointer file, and fixing internal reference links throughout the codebase [#303].
Out of Scope Changes check ✅ Passed All changes are in scope. The PR includes design page splits, navigation updates, docstring reference updates, and landing page polish—all aligned with #303. Minor additions like tech-stack.md and roadmap pages directly support the organizational restructuring.
Docstring Coverage ✅ Passed No 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/split-design-spec
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch docs/split-design-spec

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

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the project's documentation by reorganizing a large, single design specification into a more modular and navigable structure. This change improves the discoverability and readability of critical design information, making it easier for contributors and users to understand the system's architecture, agent behaviors, and operational aspects. The update also streamlines the documentation build process and ensures all internal links are consistent with the new layout.

Highlights

  • Documentation Restructuring: The monolithic DESIGN_SPEC.md file, previously over 3500 lines, has been split into 7 focused design pages located under docs/design/.
  • Pointer File Creation: The original DESIGN_SPEC.md now serves as a lightweight pointer file, linking to the newly created individual design pages.
  • Navigation Updates: The mkdocs.yml navigation has been updated to reflect the new documentation structure, introducing dedicated sections for Design, Roadmap, and Reference.
  • Cross-Reference Refactoring: All internal cross-references across CLAUDE.md, README.md, architecture docs, roadmap, and reference pages have been updated to use page-based links instead of section numbers.
  • New Documentation Sections: New documentation pages for docs/architecture/tech-stack.md, docs/roadmap/, and docs/reference/ have been added to the MkDocs navigation.
  • README Refresh: The README.md file has been refreshed with centered badges, a capabilities table, and updated documentation links for improved readability and navigation.
Changelog
  • CLAUDE.md
    • Updated references to the design specification to point to the new docs/design/ pages.
    • Modified descriptions of the design spec to reflect its new role as a pointer file.
  • README.md
    • Refactored the header to include centered badges for CI, coverage, license, Python version, and documentation.
    • Replaced the 'Concept' and 'What's Built' sections with a more concise 'What is SynthOrg?' and a detailed 'Capabilities' table.
    • Updated the 'Quick Start' section with an additional uv sync --group docs command.
    • Introduced a Mermaid diagram for a high-level architecture overview.
    • Revised the 'Documentation' section to 'Further Reading' with updated links to the new documentation structure.
    • Removed the direct link to DESIGN_SPEC.md from the 'Links' section.
  • docs/architecture/decisions.md
    • Updated the file to a new format with frontmatter and a 'Decision Log' title.
    • Expanded the content with detailed tables for Memory Layer, Security & Trust, Agent & HR, Performance Metrics, Promotions, Tools & Sandbox, Timeout & Approval, and Engine & Prompts decisions.
    • Replaced the old ADR index and format description with a comprehensive decision log.
  • docs/architecture/index.md
    • Updated 'Further Reading' links to point to the new design specification index, tech stack, and decision log pages.
  • docs/architecture/tech-stack.md
    • Added a new file detailing the project's high-level architecture, technology stack, key design decisions, and engineering conventions.
  • docs/decisions/ADR-003-documentation-architecture.md
    • Updated the 'Implementation' section to reflect the new split of the design specification into multiple pages and the addition of new documentation directories.
  • docs/design/agents.md
    • Added a new file detailing agent identity, personality dimensions, seniority and authority levels, role catalog, hiring, firing, performance tracking, and promotions.
  • docs/design/communication.md
    • Added a new file outlining communication patterns (message bus, hierarchical delegation, meetings), standards (A2A, MCP), message format, loop prevention, conflict resolution protocols, and meeting protocols.
  • docs/design/engine.md
    • Added a new file describing the task lifecycle, task definition, workflow types, task routing and assignment, agent execution loops, crash recovery, graceful shutdown, concurrent workspace isolation, and task decomposability.
  • docs/design/index.md
    • Added a new file serving as the main entry point for the design documentation, including core vision, design principles, MVP definition, configuration philosophy, glossary, entity relationships, and links to sub-design pages.
  • docs/design/memory.md
    • Added a new file detailing agent memory architecture, memory types and levels, shared organizational memory, memory backend protocols, operational data persistence, and memory injection strategies.
  • docs/design/operations.md
    • Added a new file covering LLM providers and abstraction, budget and cost management, tool and capability systems, security and approval systems, and human interaction layers.
  • docs/design/organization.md
    • Added a new file describing company types, organizational hierarchy, department configuration, dynamic scaling, and the template system.
  • docs/getting_started.md
    • Updated the description of DESIGN_SPEC.md to reflect its new role as a pointer file.
    • Updated the link to the 'Design Specification' to point to the new design/index.md.
  • docs/index.md
    • Added a warning about the project being under active development.
    • Introduced a new 'Design Specification' section with a grid of cards linking to each of the new design pages.
    • Revised the 'Documentation' section to 'Further Reading' and updated its links to include new architecture, tech stack, decision log, roadmap, and reference pages.
  • docs/reference/research.md
    • Added a new file providing a comparison of existing multi-agent frameworks, a detailed analysis of SynthOrg's unique features, agent scaling research findings, and a list of leveraged libraries and sources.
  • docs/reference/standards.md
    • Added a new file outlining the industry standards SynthOrg aligns with, including MCP, A2A Protocol, and OpenAI API format.
  • docs/roadmap/future-vision.md
    • Added a new file detailing future features and the scaling path for SynthOrg.
  • docs/roadmap/index.md
    • Added a new file outlining the current status of the SynthOrg core framework, remaining work, and tracking information.
  • docs/roadmap/open-questions.md
    • Added a new file listing open design questions, technical risks, and architecture risks.
  • docs/user_guide.md
    • Added a cp docker/.env.example docker/.env command to the Docker Compose quick start instructions.
    • Updated the description of dashboard configuration to remove mention of LLM provider keys.
    • Updated the link to the 'Design Specification' to point to the new design/index.md.
  • mkdocs.yml
    • Restructured the 'Design Specification' navigation entry into a 'Design' section with individual sub-pages for Agents, Organization, Communication, Engine, Memory, and Operations.
    • Added new top-level navigation entries for 'Roadmap' and 'Reference', including their respective sub-pages.
    • Updated the 'Architecture' section to include 'Tech Stack' and 'Decision Log' as direct sub-pages, and nested the individual ADRs under a 'Decisions' sub-section.
  • site/src/pages/index.astro
    • Updated the link to the design specification from /docs/design_spec/ to /docs/design/ in the 'Open Source' section and the footer.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

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 is a significant and well-executed refactoring of the project's documentation. It splits a monolithic design specification into seven focused pages, improving navigability and maintainability. The README.md has been refreshed for better presentation, and the overall documentation structure is now more logical with new sections for Roadmap and Reference. I've found a couple of minor areas for improvement regarding link consistency and clarity in the new documentation pages.

README.md Outdated

## Status

Core framework complete — agent engine, multi-agent coordination, API, security, HR, memory, and budget systems are implemented. Remaining: Mem0 adapter backend, approval workflow gates, CLI, web dashboard. See the [roadmap](https://synthorg.io/docs/roadmap/) for details.
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 link to the roadmap in the 'Status' section is an absolute URL (https://synthorg.io/docs/roadmap/). This is inconsistent with other links in the file, such as those in the 'Documentation' table, which are relative (e.g., docs/design/index.md). Using a relative link here would improve consistency and ensure the link works correctly within the GitHub repository view, even before deployment.

Suggested change
Core framework complete — agent engine, multi-agent coordination, API, security, HR, memory, and budget systems are implemented. Remaining: Mem0 adapter backend, approval workflow gates, CLI, web dashboard. See the [roadmap](https://synthorg.io/docs/roadmap/) for details.
Core framework complete — agent engine, multi-agent coordination, API, security, HR, memory, and budget systems are implemented. Remaining: Mem0 adapter backend, approval workflow gates, CLI, web dashboard. See the [roadmap](docs/roadmap/index.md) for details.

Comment on lines +355 to +356
- `COMPLETED` termination: IN_PROGRESS -> IN_REVIEW -> COMPLETED (two-hop
auto-complete; reviewers planned).
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 phrase 'two-hop auto-complete' for the COMPLETED termination reason is a bit ambiguous. It could imply that the IN_REVIEW step is automatically skipped. Given the state diagram and the note about 'reviewers planned', it would be clearer to state that the task moves to IN_REVIEW to await approval before being marked as COMPLETED.

Suggested change
- `COMPLETED` termination: IN_PROGRESS -> IN_REVIEW -> COMPLETED (two-hop
auto-complete; reviewers planned).
- `COMPLETED` termination: `IN_PROGRESS` -> `IN_REVIEW`. The task will then move to `COMPLETED` upon approval.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR restructures the project’s documentation by splitting the large DESIGN_SPEC.md into focused pages under docs/design/, updating MkDocs navigation and cross-links across the repo, and refreshing the public landing page + README to point at the new doc structure.

Changes:

  • Split the design spec into 7 pages under docs/design/ and updated MkDocs nav accordingly.
  • Added new documentation sections/pages (Roadmap, Reference, Tech Stack, ADR-003) and rewired internal links.
  • Updated external entry points (Astro landing page, README, CLAUDE.md) to reference the new doc URLs/paths.

Reviewed changes

Copilot reviewed 23 out of 25 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
site/src/pages/index.astro Updates landing-page links from /docs/design_spec/ to /docs/design/.
mkdocs.yml Replaces single design spec page with a multi-page “Design” section; adds Roadmap/Reference sections and ADR entries.
docs/user_guide.md Updates quick start and design spec link to new design pages.
docs/roadmap/open-questions.md Adds a roadmap page capturing open questions and risk tracking.
docs/roadmap/index.md Adds roadmap overview/status and remaining work list.
docs/roadmap/future-vision.md Adds post-MVP future vision and scaling phases.
docs/reference/standards.md Adds a standards reference page (MCP/A2A/OpenAI format).
docs/reference/research.md Adds research/prior-art and comparison tables with citations.
docs/index.md Adds a “Design Specification” section with cards linking to the new design pages and adds roadmap/architecture references.
docs/getting_started.md Updates references to treat DESIGN_SPEC.md as a pointer to design pages.
docs/design/organization.md New organization/templates design page (hierarchy, scaling, template inheritance).
docs/design/operations.md New operations design page (providers, budget, tools, security, HITL).
docs/design/memory.md New memory/persistence design page (protocols, org memory, injection strategies).
docs/design/index.md New design overview/index page linking to the other design pages.
docs/design/engine.md New engine design page (task lifecycle, loops, routing, recovery, shutdown, isolation).
docs/design/communication.md New communication design page (bus patterns, loop prevention, conflict resolution, meetings).
docs/design/agents.md New agents/HR design page (identity, roles, hiring, metrics, promotions).
docs/decisions/ADR-003-documentation-architecture.md Updates ADR-003 implementation section to match new docs layout.
docs/architecture/tech-stack.md Adds a tech stack + engineering conventions page.
docs/architecture/index.md Updates architecture “Further Reading” links to point to new design pages/tech stack/decision log.
docs/architecture/decisions.md Refactors “Design Decisions” into a domain-organized “Decision Log” with embedded summaries.
README.md Refreshes README layout (badges/table), updates doc links and quick start commands.
CLAUDE.md Updates guidance to read docs/design/ pages (with DESIGN_SPEC.md as a pointer) and revises docs structure notes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +70 to +75
```yaml
departments:
engineering:
head: "cto"
budget_percent: 60
teams:
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

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

The department config example uses a mapping keyed by department name (e.g., departments: engineering:), but the validated config shape expects departments to be a list/tuple of department objects with a name field. As written, this YAML would fail RootConfig/Template validation. Update the example to departments: - name: engineering ... (and similarly for other departments).

Copilot uses AI. Check for mistakes.
Comment on lines +224 to +225
`departments` mapping
: Merged by key (case-insensitive). A child department replaces the parent entry entirely.
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

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

In the template inheritance merge semantics, departments is described as a "mapping" merged by key. In the implementation, template departments are a list merged by department name (case-insensitive), where a child department with the same name replaces the parent entry. Adjust this bullet to describe list semantics to match src/ai_company/templates/merge.py / RootConfig.departments typing.

Suggested change
`departments` mapping
: Merged by key (case-insensitive). A child department replaces the parent entry entirely.
`departments` list
: Merged by department `name` (case-insensitive). A child department with the same `name`
replaces the parent entry entirely; departments with new names are appended.

Copilot uses AI. Check for mistakes.
Comment on lines +14 to 21
cp docker/.env.example docker/.env
docker compose -f docker/compose.yml up -d
```

The web dashboard is at [http://localhost:3000](http://localhost:3000).

All configuration — LLM provider keys, organization setup, templates — is managed through the dashboard.
All configuration — organization setup, templates — is managed through the dashboard.

Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

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

The quick start now instructs copying docker/.env.example (which contains required settings like LLM_API_KEY), but the guide then says “All configuration … is managed through the dashboard.” This is inaccurate/misleading: at minimum, provider credentials and service ports are configured via docker/.env (and the dashboard is flagged as WIP). Consider clarifying that runtime/env configuration lives in docker/.env, while org/template settings are (planned to be) managed via the dashboard/API.

Copilot uses AI. Check for mistakes.
@greptile-apps
Copy link
Copy Markdown

greptile-apps bot commented Mar 11, 2026

Greptile Summary

This PR splits the monolithic 3500-line DESIGN_SPEC.md into 7 focused pages under docs/design/, migrates three ADR files into a consolidated Decision Log, and refreshes the README, landing page, and MkDocs navigation. The restructuring is well-executed and cross-references across CLAUDE.md, README.md, and ~60 Python docstrings are all updated consistently.

Key findings:

  • The .claude/skills/pre-pr-review/SKILL.md and aurelio-review-pr/SKILL.md files were not updated — they still instruct Claude to check specific section numbers of DESIGN_SPEC.md (e.g. §15.3, §3.1, §9.2) that no longer exist in the new pointer-file format. This will cause those automated review workflows to miss their spec-accuracy checks.
  • The GitHub buttons script (buttons.github.io/buttons.js) was added to Base.astro (the site-wide layout), loading a third-party external script on every page rather than only on index.astro where the buttons are rendered.
  • docker/.env.example had LLM_API_KEY removed (confirmed not used in source), but leaves no comment pointing new users to where LLM provider credentials are actually configured.

Confidence Score: 4/5

  • Safe to merge — documentation restructuring is clean and internally consistent, with one workflow tooling gap to address post-merge.
  • The core docs restructuring is thorough and well-executed: all cross-references in CLAUDE.md, README, and Python docstrings are updated, the MkDocs nav is clean, and ADR content is properly consolidated. The one functional gap — the .claude/skills workflow files still referencing old section numbers — affects the automated AI review tooling but not the documentation itself or any runtime behavior. The external script placement in Base.astro is a minor scope concern, not a correctness issue.
  • .claude/skills/pre-pr-review/SKILL.md and .claude/skills/aurelio-review-pr/SKILL.md — the section-number-based spec checklist needs updating to reference the new page-based design structure.

Important Files Changed

Filename Overview
.claude/skills/pre-pr-review/SKILL.md Skill file not updated — still references old DESIGN_SPEC.md section numbers (§15.3, §9.2, etc.) that no longer exist after the monolithic spec was split into 7 pages.
DESIGN_SPEC.md Successfully converted from 3500+ line monolithic spec to a lightweight pointer file with a nav table linking to all 7 design pages and supporting pages.
mkdocs.yml Navigation updated cleanly with new Design, Roadmap, and Reference sections; all referenced files exist.
CLAUDE.md Correctly updated to reference docs/design/ pages instead of DESIGN_SPEC.md section numbers; all documentation pointers are accurate.
site/src/layouts/Base.astro Added github-button external script to the base layout, which loads it on every page sitewide rather than only on index.astro where the buttons are used.
site/src/pages/index.astro Links updated from /docs/design_spec/ to /docs/design/; added GitHub star/fork buttons and improved terminal UI with copy functionality.
docker/.env.example Removed stale LLM_API_KEY and AI_COMPANY_LOG_LEVEL entries that had no corresponding source usage; leaves no guidance for new users on where to configure LLM credentials.
README.md Refreshed with centered badges, capability table, and updated all documentation links to point to the new docs/design/ structure; ADR references correctly removed.
docs/architecture/decisions.md ADR content migrated inline from the deleted ADR-001/002/003 files into a unified Decision Log; content is well-structured and complete.
docs/design/index.md New design overview page covering vision, core concepts, and glossary; provides a clean entry point for the design section.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    OLD["DESIGN_SPEC.md\n(3500+ lines monolithic)"]
    NEW_PTR["DESIGN_SPEC.md\n(pointer file)"]

    OLD -->|split| NEW_PTR

    NEW_PTR --> D1["docs/design/index.md\n(Vision, Glossary)"]
    NEW_PTR --> D2["docs/design/agents.md\n(Agent System, HR)"]
    NEW_PTR --> D3["docs/design/organization.md\n(Company Structure)"]
    NEW_PTR --> D4["docs/design/communication.md\n(Message Bus, Meetings)"]
    NEW_PTR --> D5["docs/design/engine.md\n(Task Engine, Recovery)"]
    NEW_PTR --> D6["docs/design/memory.md\n(Memory, Persistence)"]
    NEW_PTR --> D7["docs/design/operations.md\n(Providers, Budget, Security)"]

    ADR1["docs/decisions/ADR-001"] -->|consolidated into| DLOG["docs/architecture/decisions.md\n(unified Decision Log)"]
    ADR2["docs/decisions/ADR-002"] -->|consolidated into| DLOG
    ADR3["docs/decisions/ADR-003"] -->|consolidated into| DLOG

    STALE["⚠️ .claude/skills/\npre-pr-review/SKILL.md\naurelio-review-pr/SKILL.md"]
    STALE -. "still references §15.3, §9.2 etc.\n(not updated in this PR)" .-> OLD
Loading

Comments Outside Diff (2)

  1. .claude/skills/pre-pr-review/SKILL.md, line 175-190 (link)

    Stale DESIGN_SPEC section references in skill workflows

    The pre-pr-review and aurelio-review-pr skill files still instruct Claude to check specific section numbers of DESIGN_SPEC.md (e.g. §15.3 Project Structure, §3.1 Agent Identity Card, §15.4, §15.5, §10.2, §11.1.1, §15.2, §9.2, §9.3) that no longer exist now that the monolithic spec has been split into 7 focused pages under docs/design/.

    When these skills run, Claude will read DESIGN_SPEC.md (now a pointer file with no sections) and then look for §15.3, §9.2 etc., find nothing, and either skip those checks entirely or produce incorrect output. The section-specific checklist in both skills needs to be updated to reference the new page-based structure (e.g. "Check the docs/design/agents.md — Agent Identity Card section" instead of "§3.1").

    The same issue exists in .claude/skills/aurelio-review-pr/SKILL.md (lines 181–190) and .claude/skills/research-link/SKILL.md which still says "read DESIGN_SPEC.md... grep for related sections."

  2. site/src/layouts/Base.astro, line 32-33 (link)

    External script loaded on every page without SRI

    buttons.github.io/buttons.js is added to the base layout, meaning it loads on every page of the site (not just the landing page where the buttons appear). While buttons.github.io is GitHub's official widget service, loading an external script sitewide has two concerns:

    1. Scope: the script runs on documentation pages and other layouts that don't use github-button widgets — it would be cleaner to include the script only in index.astro where the buttons are actually rendered.
    2. No Subresource Integrity (SRI): the script is loaded without an integrity attribute, meaning there's no hash verification if the external resource were to change.
Prompt To Fix All With AI
This is a comment left during a code review.
Path: .claude/skills/pre-pr-review/SKILL.md
Line: 175-190

Comment:
**Stale DESIGN_SPEC section references in skill workflows**

The `pre-pr-review` and `aurelio-review-pr` skill files still instruct Claude to check specific section numbers of `DESIGN_SPEC.md` (e.g. `§15.3 Project Structure`, `§3.1 Agent Identity Card`, `§15.4`, `§15.5`, `§10.2`, `§11.1.1`, `§15.2`, `§9.2`, `§9.3`) that no longer exist now that the monolithic spec has been split into 7 focused pages under `docs/design/`. 

When these skills run, Claude will read `DESIGN_SPEC.md` (now a pointer file with no sections) and then look for `§15.3`, `§9.2` etc., find nothing, and either skip those checks entirely or produce incorrect output. The section-specific checklist in both skills needs to be updated to reference the new page-based structure (e.g. "Check the `docs/design/agents.md` — Agent Identity Card section" instead of "§3.1").

The same issue exists in `.claude/skills/aurelio-review-pr/SKILL.md` (lines 181–190) and `.claude/skills/research-link/SKILL.md` which still says "read `DESIGN_SPEC.md`... grep for related sections."

How can I resolve this? If you propose a fix, please make it concise.

---

This is a comment left during a code review.
Path: site/src/layouts/Base.astro
Line: 32-33

Comment:
**External script loaded on every page without SRI**

`buttons.github.io/buttons.js` is added to the base layout, meaning it loads on every page of the site (not just the landing page where the buttons appear). While `buttons.github.io` is GitHub's official widget service, loading an external script sitewide has two concerns:

1. **Scope**: the script runs on documentation pages and other layouts that don't use github-button widgets — it would be cleaner to include the script only in `index.astro` where the buttons are actually rendered.
2. **No Subresource Integrity (SRI)**: the script is loaded without an `integrity` attribute, meaning there's no hash verification if the external resource were to change.

How can I resolve this? If you propose a fix, please make it concise.

Last reviewed commit: 2f66907

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/design/engine.md`:
- Around line 546-552: The doc wrongly introduces a new state "SUSPENDED" for
shutdown flows causing a second restart state; change the text in Strategy 4 to
use the existing INTERRUPTED state instead of SUSPENDED, i.e., persist the
AgentContext snapshot and transition to INTERRUPTED on shutdown, and reference
the existing [Checkpoint Recovery](`#agent-crash-recovery`) behavior; ensure the
wording around AgentContext, checkpoint loading, and restart semantics aligns
with the lifecycle diagram and task model (do not add or rename states).

In `@docs/design/operations.md`:
- Around line 125-127: The fallback model alias "local-small" in the routing
example is not defined in the provider catalog; update the YAML snippet so the
fallback references an existing provider alias (e.g., change fallback:
"local-small" to fallback: "local-llama" or "local-coder") or add a
corresponding provider entry for "local-small" in the provider catalog; ensure
you modify the keys shown (role_level, preferred_model, fallback) so the routing
example and provider catalog are consistent.

In `@docs/reference/standards.md`:
- Line 11: The table cell containing "LLM API interface" is redundant; update
that cell in the row with "**OpenAI API format** | OpenAI (de facto standard) |
LLM API interface | Via provider abstraction layer (LiteLLM)" to remove the
redundancy by replacing "LLM API interface" with either "LLM API" or "LLM
interface" (choose one consistent term), and keep the rest of the row unchanged
so the table reads e.g. "**OpenAI API format** | OpenAI (de facto standard) |
LLM API | Via provider abstraction layer (LiteLLM)".

In `@README.md`:
- Line 125: Update the README line that currently reads "Read `DESIGN_SPEC.md`
before implementing any feature — it is the mandatory starting point for
architecture, data models, and behavior" to point directly to the new design hub
(e.g., replace the `DESIGN_SPEC.md` link with the new hub target such as
`DESIGN_HUB.md` or the design hub URL) so contributors land on the authoritative
source without the extra redirect; keep the remainder of the sentence and
emphasis about it being the mandatory starting point intact.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

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

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7350b758-b26b-40df-8e0c-a1a5590a4eef

📥 Commits

Reviewing files that changed from the base of the PR and between 9fec245 and 0fd110e.

📒 Files selected for processing (25)
  • CLAUDE.md
  • DESIGN_SPEC.md
  • README.md
  • docs/architecture/decisions.md
  • docs/architecture/index.md
  • docs/architecture/tech-stack.md
  • docs/decisions/ADR-003-documentation-architecture.md
  • docs/design/agents.md
  • docs/design/communication.md
  • docs/design/engine.md
  • docs/design/index.md
  • docs/design/memory.md
  • docs/design/operations.md
  • docs/design/organization.md
  • docs/design_spec.md
  • docs/getting_started.md
  • docs/index.md
  • docs/reference/research.md
  • docs/reference/standards.md
  • docs/roadmap/future-vision.md
  • docs/roadmap/index.md
  • docs/roadmap/open-questions.md
  • docs/user_guide.md
  • mkdocs.yml
  • site/src/pages/index.astro
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Agent
  • GitHub Check: Greptile Review
🧰 Additional context used
📓 Path-based instructions (2)
docs/**/*.md

📄 CodeRabbit inference engine (CLAUDE.md)

Use MkDocs for documentation with mkdocstrings for auto-generated API reference from docstrings via Griffe

Files:

  • docs/user_guide.md
  • docs/design/organization.md
  • docs/roadmap/index.md
  • docs/design/index.md
  • docs/architecture/decisions.md
  • docs/roadmap/open-questions.md
  • docs/design/engine.md
  • docs/roadmap/future-vision.md
  • docs/index.md
  • docs/decisions/ADR-003-documentation-architecture.md
  • docs/reference/standards.md
  • docs/design/agents.md
  • docs/architecture/tech-stack.md
  • docs/design/memory.md
  • docs/getting_started.md
  • docs/reference/research.md
  • docs/design/communication.md
  • docs/architecture/index.md
  • docs/design/operations.md
**/*.yml

📄 CodeRabbit inference engine (CLAUDE.md)

Use YAML for company config loading and validation

Files:

  • mkdocs.yml
🧠 Learnings (5)
📓 Common learnings
Learnt from: CR
Repo: Aureliolo/synthorg PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-11T19:36:34.512Z
Learning: Read DESIGN_SPEC.md before implementing any feature — it is the mandatory starting point for architecture, data models, and behavior
📚 Learning: 2026-03-11T19:36:34.512Z
Learnt from: CR
Repo: Aureliolo/synthorg PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-11T19:36:34.512Z
Learning: Read DESIGN_SPEC.md before implementing any feature — it is the mandatory starting point for architecture, data models, and behavior

Applied to files:

  • docs/user_guide.md
  • docs/design/index.md
  • docs/index.md
  • docs/decisions/ADR-003-documentation-architecture.md
  • docs/getting_started.md
  • CLAUDE.md
  • docs/architecture/index.md
  • mkdocs.yml
📚 Learning: 2026-03-11T19:36:34.512Z
Learnt from: CR
Repo: Aureliolo/synthorg PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-11T19:36:34.512Z
Learning: Alert the user and explain deviations from DESIGN_SPEC.md — do not silently diverge from the specification

Applied to files:

  • docs/index.md
  • docs/getting_started.md
  • CLAUDE.md
📚 Learning: 2026-03-11T19:36:34.512Z
Learnt from: CR
Repo: Aureliolo/synthorg PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-11T19:36:34.512Z
Learning: Applies to docs/**/*.md : Use MkDocs for documentation with mkdocstrings for auto-generated API reference from docstrings via Griffe

Applied to files:

  • docs/decisions/ADR-003-documentation-architecture.md
  • CLAUDE.md
📚 Learning: 2026-03-11T19:36:34.512Z
Learnt from: CR
Repo: Aureliolo/synthorg PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-03-11T19:36:34.512Z
Learning: Applies to src/ai_company/**/*.py : Use frozen Pydantic models for config/identity — use separate mutable-via-copy models for runtime state that evolves

Applied to files:

  • docs/architecture/tech-stack.md
🪛 LanguageTool
docs/design/organization.md

[style] ~211-~211: Consider using a different verb to strengthen your wording.
Context: ...ge behavior during template inheritance follows these rules: Scalars (company_name, ...

(FOLLOW_OBEY)


[grammar] ~234-~234: Please add a punctuation mark at the end of paragraph.
Context: ...## Company Builder !!! warning "Planned" The template system already suppor...

(PUNCTUATION_PARAGRAPH_END)


[style] ~243-~243: Using many exclamation marks might seem excessive (in this case: 6 exclamation marks for a text that’s 3590 characters long)
Context: ...mpany`. --- ## Community Marketplace !!! warning "Planned" A future communi...

(EN_EXCESSIVE_EXCLAMATION)


[grammar] ~244-~244: Please add a punctuation mark at the end of paragraph.
Context: ...munity Marketplace !!! warning "Planned" A future community marketplace wou...

(PUNCTUATION_PARAGRAPH_END)

docs/design/index.md

[grammar] ~90-~90: Please add a punctuation mark at the end of paragraph.
Context: ...fo "How to read the design specification" Sections describe the full vision....

(PUNCTUATION_PARAGRAPH_END)

docs/design/engine.md

[style] ~60-~60: Consider using the typographical ellipsis character here instead.
Context: ...del) that tracks status transitions via model_copy(update=...), accumulates TokenUsage cost, a...

(ELLIPSIS)


[grammar] ~510-~510: Please add a punctuation mark at the end of paragraph.
Context: ...s (task.cancel()) -- tasks transition to INTERRUPTED 5. Cleanup phase (`cle...

(PUNCTUATION_PARAGRAPH_END)


[style] ~565-~565: Since ownership is already implied, this phrasing may be redundant.
Context: ...p across agents. Each agent operates in its own git worktree (shared .git object data...

(PRP_OWN)


[typographical] ~616-~616: In American English, use a period after an abbreviation.
Context: ...ping file sets. ### State Coordination vs Workspace Isolation These are compleme...

(MISSING_PERIOD_AFTER_ABBREVIATION)


[style] ~622-~622: Consider using the typographical ellipsis character here instead.
Context: ...tralized single-writer (TaskEngine) | model_copy(update=...) via async queue | | Code and files (a...

(ELLIPSIS)

docs/index.md

[grammar] ~7-~7: Please add a punctuation mark at the end of paragraph.
Context: .... !!! warning "Under Active Development" SynthOrg is under active developme...

(PUNCTUATION_PARAGRAPH_END)

docs/reference/standards.md

[style] ~11-~11: To make your text as clear as possible to all readers, do not use this foreign term. Possible alternatives are ‘in fact’ or ‘in reality’.
Context: ...ity | | OpenAI API format | OpenAI (de facto standard) | LLM API interface | Via pro...

(DE_FACTO)


[style] ~11-~11: This phrase is redundant (‘I’ stands for ‘interface’). Use simply “API”.
Context: ...at** | OpenAI (de facto standard) | LLM API interface | Via provider abstraction layer (LiteL...

(ACRONYM_TAUTOLOGY)

docs/design/agents.md

[style] ~20-~20: Consider using the typographical ellipsis character here instead.
Context: ...n. Represented as Pydantic models using model_copy(update=...) for state transitions -- never mu...

(ELLIPSIS)


[style] ~249-~249: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...nality would complement the team? - What model/provider fits the budget? 3. Cand...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~252-~252: Please add a punctuation mark at the end of paragraph.
Context: ...company context, project briefing, team introductions !!! info "Design decisions ([Decision ...

(PUNCTUATION_PARAGRAPH_END)


[grammar] ~367-~367: Use a hyphen to join words.
Context: ...- Promotion criteria: Sustained high quality scores, task complexity handled,...

(QB_NEW_EN_HYPHEN)


[style] ~371-~371: Using many exclamation marks might seem excessive (in this case: 9 exclamation marks for a text that’s 4133 characters long)
Context: ...wngrade](operations.md#cost-controls)) !!! info "Design decisions ([Decision Log](...

(EN_EXCESSIVE_EXCLAMATION)

docs/architecture/tech-stack.md

[grammar] ~53-~53: Ensure spelling is correct
Context: ...rotocol (Decision Log). Qdrant embedded + SQLite for persistence. Cust...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[typographical] ~106-~106: In American English, use a period after an abbreviation.
Context: ...py()` for Pydantic models. | | Config vs runtime split | Adopted | Frozen mode...

(MISSING_PERIOD_AFTER_ABBREVIATION)


[style] ~106-~106: Consider using the typographical ellipsis character here instead.
Context: ...ed | Frozen models for config/identity; model_copy(update=...) for runtime state transitions (e.g., ...

(ELLIPSIS)


[style] ~122-~122: Consider using the typographical ellipsis character here instead.
Context: ... Agents submit requests; engine applies model_copy(update=...) sequentially and publishes snapshots....

(ELLIPSIS)

docs/design/memory.md

[style] ~38-~38: Since ownership is already implied, this phrasing may be redundant.
Context: ...------------+ ``` Each agent maintains its own memory store. The storage backend is se...

(PRP_OWN)


[style] ~119-~119: This word has been used in one of the immediately preceding sentences. Using a synonym could make your text more interesting to read, unless the repetition is intentional.
Context: ...rm future work if organizational memory needs outgrow the Hybrid Prompt + Retrieval a...

(EN_REPEATEDWORDS_NEED)


[grammar] ~122-~122: Please add a punctuation mark at the end of paragraph.
Context: ...arch Direction: GraphRAG Knowledge Graph" Organizational knowledge stored as...

(PUNCTUATION_PARAGRAPH_END)


[grammar] ~141-~141: Please add a punctuation mark at the end of paragraph.
Context: ...arch Direction: Temporal Knowledge Graph" Like GraphRAG but tracks how facts...

(PUNCTUATION_PARAGRAPH_END)


[grammar] ~171-~171: Please add a punctuation mark at the end of paragraph.
Context: ...backends. !!! tip "Write Access Control" Core policies are human-only. ADRs...

(PUNCTUATION_PARAGRAPH_END)


[style] ~182-~182: Try elevating your writing by using a synonym here.
Context: ...ecisions.md)). Application code depends only on the protocol; the storage engine is ...

(ONLY_SOLELY)


[grammar] ~304-~304: Please add a punctuation mark at the end of paragraph.
Context: ...chivalStore` | !!! abstract "Scope Note" Retention is currently per-categor...

(PUNCTUATION_PARAGRAPH_END)


[style] ~315-~315: Try elevating your writing by using a synonym here.
Context: ...end` protocol. Application code depends only on repository protocols; the storage en...

(ONLY_SOLELY)


[style] ~372-~372: Since ownership is already implied, this phrasing may be redundant.
Context: ...audit_entries Each entity type has its own repository protocol: python @runtim...

(PRP_OWN)


[style] ~451-~451: Since ownership is already implied, this phrasing may be redundant.
Context: .... ### Multi-Tenancy Each company gets its own database. The PersistenceConfig embed...

(PRP_OWN)


[style] ~462-~462: Using many exclamation marks might seem excessive (in this case: 15 exclamation marks for a text that’s 9344 characters long)
Context: ...ct -> migrate -> use -> disconnect ``` !!! warning "Planned" Runtime backend ...

(EN_EXCESSIVE_EXCLAMATION)


[grammar] ~463-~463: Please add a punctuation mark at the end of paragraph.
Context: ... -> disconnect ``` !!! warning "Planned" Runtime backend switching (e.g., m...

(PUNCTUATION_PARAGRAPH_END)

CLAUDE.md

[style] ~17-~17: A comma is missing here.
Context: ...oval - When a spec topic is referenced (e.g. "the Agents page" or "the Engine page's...

(EG_NO_COMMA)


[grammar] ~18-~18: Please add a punctuation mark at the end of paragraph.
Context: ... docs/design/ page to reflect the new reality ## Planning (MANDATORY) - Every imple...

(PUNCTUATION_PARAGRAPH_END)


[uncategorized] ~55-~55: The official name of this software platform is spelled with a capital “H”.
Context: ...riffe (AST-based, no imports) - CI: .github/workflows/pages.yml — builds Astro lan...

(GITHUB)

docs/design/operations.md

[grammar] ~163-~163: Please add a punctuation mark at the end of paragraph.
Context: ...m (30%) -- $15"] ``` !!! abstract "Note" Percentages are illustrative defau...

(PUNCTUATION_PARAGRAPH_END)


[grammar] ~233-~233: Please add a punctuation mark at the end of paragraph.
Context: ..."] ``` !!! tip "Auto-Downgrade Boundary" Model downgrades apply only at **t...

(PUNCTUATION_PARAGRAPH_END)


[grammar] ~240-~240: Please add a punctuation mark at the end of paragraph.
Context: ...itches. !!! info "Minimal Configuration" The only required field is `total_...

(PUNCTUATION_PARAGRAPH_END)


[typographical] ~471-~471: Insert a space between the numerical value and the unit symbol.
Context: ...thon 3.14 + Node.js LTS + basic utils, <500MB). If Docker is unavailable, the framewo...

(UNIT_SPACE)


[grammar] ~475-~475: Please add a punctuation mark at the end of paragraph.
Context: ...isions.md) D16). !!! info "Scaling Path" In a future Kubernetes deployment ...

(PUNCTUATION_PARAGRAPH_END)


[grammar] ~585-~585: Please add a punctuation mark at the end of paragraph.
Context: ...mented. !!! warning "Security Invariant" The standard_to_elevated promoti...

(PUNCTUATION_PARAGRAPH_END)


[grammar] ~893-~893: Please add a punctuation mark at the end of paragraph.
Context: ...in. !!! abstract "Park/Resume Mechanism" The park/resume mechanism relies o...

(PUNCTUATION_PARAGRAPH_END)


[grammar] ~969-~969: Please add a punctuation mark at the end of paragraph.
Context: ...## Web UI Features !!! warning "Planned" The Web UI is a planned future com...

(PUNCTUATION_PARAGRAPH_END)

🪛 markdownlint-cli2 (0.21.0)
docs/design/index.md

[warning] 107-107: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)


[warning] 139-139: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)

docs/design/engine.md

[warning] 50-50: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 105-105: Link fragments should be valid

(MD051, link-fragments)


[warning] 212-212: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 239-239: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 268-268: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 379-379: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 415-415: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 448-448: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 590-590: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)

docs/design/agents.md

[warning] 39-39: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 165-165: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 235-235: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 242-242: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 289-289: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 326-326: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)

docs/design/memory.md

[warning] 70-70: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 236-236: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


[warning] 246-246: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)

docs/design/communication.md

[warning] 108-108: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)

🔇 Additional comments (21)
docs/roadmap/open-questions.md (1)

1-42: Well-structured risk documentation.

The stable identifier approach for questions (preserving numbers when resolved) is a good practice for maintaining cross-reference integrity. The categorization into Open Questions, Technical Risks, and Architecture Risks provides clear organization.

Minor typography note: Line 38 uses -- which may render inconsistently across Markdown renderers. Consider using an en-dash (–) for numeric ranges like "3–5 agents" for consistent rendering.

docs/reference/research.md (1)

1-97: Thorough research documentation with proper MkDocs features.

The framework comparison tables, research citations, and build-vs-fork rationale provide valuable context. The !!! note admonition syntax (lines 52-54) correctly uses MkDocs Material notation.

The internal links to ../architecture/tech-stack.md (lines 74, 77) align with the new documentation structure.

docs/reference/standards.md (1)

1-41: Clear standards documentation.

The overview of MCP, A2A, and OpenAI API format integration is well-organized and provides good context for how SynthOrg aligns with industry standards.

docs/getting_started.md (1)

127-127: References correctly updated to new design documentation structure.

The DESIGN_SPEC.md description change to "Pointer to design specification pages" and the link update to design/index.md accurately reflect the new multi-page documentation structure.

Also applies to: 155-155

docs/user_guide.md (1)

14-14: User guide updates are consistent with the documentation restructure.

  • Line 14: The cp docker/.env.example docker/.env command is a helpful addition to the quick start flow.
  • Line 47: Link correctly updated to point to design/index.md.

Also applies to: 20-20, 47-47

docs/architecture/index.md (1)

62-65: Further Reading section correctly updated with new documentation links.

The links to the new design pages (../design/index.md), tech stack, and decision log align with the restructured documentation. The description "Full design spec split into 7 focused pages" accurately reflects the PR changes.

site/src/pages/index.astro (1)

253-253: Landing page links correctly updated to new design documentation path.

Both the Open Source section (line 253) and footer navigation (line 320) now point to /docs/design/ instead of the old /docs/design_spec/ path. The simplified anchor text "design specification" is appropriate since the monolithic 3500-line file is now split into focused pages.

Also applies to: 320-320

docs/roadmap/index.md (1)

1-37: Clear roadmap overview with good organization.

The Current Status section provides a comprehensive list of completed subsystems, and the Remaining Work table clearly identifies outstanding items. The links to open-questions.md and future-vision.md properly connect the roadmap documentation.

docs/design/organization.md (1)

1-252: LGTM! Well-structured organization documentation.

This design page effectively documents the organization and template system with clear examples, proper MkDocs syntax, and helpful visual aids. The template inheritance and merge semantics sections provide comprehensive implementation guidance.

docs/decisions/ADR-003-documentation-architecture.md (1)

119-132: LGTM! ADR accurately reflects the documentation restructuring.

The implementation section correctly documents the split from monolithic DESIGN_SPEC.md to 7 focused design pages under docs/design/, with the root DESIGN_SPEC.md serving as a pointer file. This aligns perfectly with the PR objectives.

docs/architecture/tech-stack.md (1)

1-130: LGTM! Comprehensive tech stack documentation.

This page provides excellent coverage of the technology choices with clear rationale. The ASCII architecture diagram, technology comparison tables, and engineering conventions table are all well-structured and informative. The Litestar vs FastAPI design decision section provides valuable context for framework selection.

docs/roadmap/future-vision.md (1)

1-47: LGTM! Clear future vision and scaling path.

This roadmap document effectively outlines future features with appropriate priority levels and provides a clear incremental scaling narrative from local single-process to cloud deployment. The cross-reference to the implemented promotion system is helpful context.

docs/index.md (3)

7-10: Helpful development status warning added.

The "Under Active Development" admonition appropriately sets expectations and directs readers to the roadmap for implementation status.


38-100: Excellent design specification navigation structure.

The grid card layout with 7 design topic cards provides clear entry points into the now-modular design documentation. Each card has a focused description and direct link to its respective design page. This significantly improves discoverability compared to a monolithic DESIGN_SPEC.md.


117-126: Improved "Further Reading" section.

Renaming from "Documentation" to "Further Reading" better reflects the purpose, and the updated table now includes the new Tech Stack, Decision Log, and Roadmap pages, providing comprehensive navigation to all documentation resources.

docs/architecture/decisions.md (1)

1-3: Good addition of YAML frontmatter.

Adding the description metadata to the decision log improves SEO and provides context in navigation. This follows MkDocs best practices.

docs/design/agents.md (1)

1-387: LGTM! Comprehensive agents & HR design documentation.

This design page provides excellent coverage of the agent identity system, personality dimensions, seniority levels, role catalog, and HR processes. The two-layer identity model (Config vs Runtime) is clearly explained, and the compatibility scoring algorithm is well-documented. Cross-references to related design pages and the decision log are appropriate and helpful.

The use of MkDocs Material features (tabs, admonitions, definition lists) enhances readability and organization.

Optional: Minor clarity improvement

For line 367, consider adding a hyphen for the compound modifier:

-- **Promotion criteria:** Sustained high quality scores, task complexity handled, peer feedback
+- **Promotion criteria:** Sustained high-quality scores, task complexity handled, peer feedback

This is a minor stylistic improvement for clarity.

CLAUDE.md (3)

9-18: LGTM! Developer guidance properly updated for new design structure.

The updates correctly reflect the transition from monolithic DESIGN_SPEC.md to the 7-page design structure, emphasizing that DESIGN_SPEC.md is now a pointer file. The guidance to read relevant docs/design/ pages before implementing features maintains the mandatory design-first approach.


46-57: LGTM! Documentation structure correctly documented.

The enumeration of the 7 design pages and updated architecture section accurately reflects the new documentation organization.


93-94: LGTM! Memory and persistence references updated.

The updated references correctly point to the Memory & Persistence design page and remove the specific ADR-001 references in favor of the broader design page links.

mkdocs.yml (1)

117-120: No action needed — ADR nav paths are correct.

The ADR files are located at docs/decisions/ and the mkdocs.yml nav entries correctly reference them with the decisions/ prefix. The configuration aligns with the actual file layout.

- Fix SUSPENDED→INTERRUPTED state in engine shutdown docs (CodeRabbit)
- Fix department YAML to list syntax in organization docs (Copilot)
- Fix template merge semantics: mapping→list (Copilot)
- Fix absolute roadmap URL to relative in README (Gemini)
- Fix local-small→local-coder fallback alias (CodeRabbit)
- Fix redundant "API interface" → "LLM API" (CodeRabbit)
- Point contributors to Design Overview directly (CodeRabbit)
- Clarify docker/.env purpose in user guide (Copilot)
- Update 48 source files: replace stale DESIGN_SPEC section numbers
  with design page references (e.g. "Operations design page")
- Remove LLM_API_KEY from docker/.env.example (not a container config)
- Remove dead AI_COMPANY_LOG_LEVEL from .env.example and compose override
- Landing page: fix "design specification is public" → everything is open
- Landing page: proper terminal block with copy button
- Landing page: add GitHub star/fork buttons (buttons.github.io)
- MkDocs: add homepage: / so logo links back to landing page
…pages

- Remove project board and milestone references from docs/roadmap/index.md
- Remove individual ADR-001/002/003 pages and docs/decisions/ directory
- Keep decision log at docs/architecture/decisions.md (single source)
- Clean up mkdocs.yml nav (remove Decisions subsection)
- Update CLAUDE.md and memory to remove milestone references
- Remove dead AI_COMPANY_LOG_LEVEL from compose.override.yml
Copilot AI review requested due to automatic review settings March 11, 2026 22:17
@Aureliolo Aureliolo merged commit 9ea0788 into main Mar 11, 2026
10 of 11 checks passed
@Aureliolo Aureliolo deleted the docs/split-design-spec branch March 11, 2026 22:20
Aureliolo added a commit that referenced this pull request Mar 11, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.1.1](v0.1.0...v0.1.1)
(2026-03-11)


### Features

* add PR preview deployments via Cloudflare Pages
([#302](#302))
([b73c45a](b73c45a))


### Bug Fixes

* correct deploy-pages SHA and improve preview cleanup reliability
([#304](#304))
([584d64a](584d64a))
* harden API key hashing with HMAC-SHA256 and clean up legacy changelog
([#292](#292))
([5e85353](5e85353))
* upgrade upload-pages-artifact to v4 and add zizmor workflow linting
([#299](#299))
([2eac571](2eac571))
* use Cloudflare Pages API default per_page for pagination
([#305](#305))
([9fec245](9fec245))


### Documentation

* remove milestone references and rebrand to SynthOrg
([#289](#289))
([57a03e0](57a03e0))
* set up documentation site, release CI, and sandbox hardening
([#298](#298))
([0dec9da](0dec9da))
* split DESIGN_SPEC.md into 7 focused design pages
([#308](#308))
([9ea0788](9ea0788))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Signed-off-by: Aurelio <19254254+Aureliolo@users.noreply.github.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 89 out of 91 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1 to +3
<p align="center">
<strong>SynthOrg</strong>
</p>
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

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

The README no longer has an H1 heading (# … or <h1>). This can hurt document structure for screen readers and GitHub’s rendering/TOC behavior. Consider restoring a semantic H1 (it can still be centered with HTML/CSS) and keep the badge block beneath it.

Suggested change
<p align="center">
<strong>SynthOrg</strong>
</p>
<h1 align="center">SynthOrg</h1>

Copilot uses AI. Check for mistakes.
Comment on lines +309 to +315
document.getElementById('copy-terminal')?.addEventListener('click', function() {
const text = 'git clone https://github.com/Aureliolo/synthorg\ncd synthorg\ndocker compose -f docker/compose.yml up -d';
navigator.clipboard.writeText(text).then(() => {
const btn = this;
btn.textContent = 'Copied!';
setTimeout(() => { btn.textContent = 'Copy'; }, 2000);
});
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

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

The copy-to-clipboard handler doesn’t handle cases where navigator.clipboard is unavailable or writeText() is rejected (non-secure context, permissions, etc.), which can lead to a silent no-op or unhandled rejection. Consider feature-detecting the API and adding a .catch(...) fallback (and/or UI feedback) so the button degrades gracefully.

Suggested change
document.getElementById('copy-terminal')?.addEventListener('click', function() {
const text = 'git clone https://github.com/Aureliolo/synthorg\ncd synthorg\ndocker compose -f docker/compose.yml up -d';
navigator.clipboard.writeText(text).then(() => {
const btn = this;
btn.textContent = 'Copied!';
setTimeout(() => { btn.textContent = 'Copy'; }, 2000);
});
document.getElementById('copy-terminal')?.addEventListener('click', function () {
const btn = this;
const text = 'git clone https://github.com/Aureliolo/synthorg\ncd synthorg\ndocker compose -f docker/compose.yml up -d';
const showCopied = () => {
btn.textContent = 'Copied!';
setTimeout(() => {
btn.textContent = 'Copy';
}, 2000);
};
const showFailed = () => {
btn.textContent = 'Copy failed';
setTimeout(() => {
btn.textContent = 'Copy';
}, 2000);
};
const fallbackCopy = () => {
try {
const textarea = document.createElement('textarea');
textarea.value = text;
textarea.style.position = 'fixed';
textarea.style.top = '-9999px';
document.body.appendChild(textarea);
textarea.focus();
textarea.select();
const successful = document.execCommand && document.execCommand('copy');
document.body.removeChild(textarea);
if (successful) {
showCopied();
} else {
showFailed();
}
} catch (e) {
showFailed();
}
};
if (typeof navigator !== 'undefined' && navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text)
.then(() => {
showCopied();
})
.catch(() => {
fallbackCopy();
});
} else {
fallbackCopy();
}

Copilot uses AI. Check for mistakes.
Comment on lines +32 to +33
<!-- GitHub buttons (https://buttons.github.io/) -->
<script async defer src="https://buttons.github.io/buttons.js"></script>
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

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

This loads third-party JavaScript from buttons.github.io on every page. If the site has (or plans to add) a restrictive CSP/SRI policy, or if supply-chain risk is a concern, consider self-hosting/pinning via integrity (if available) and/or only including this script on pages that actually render GitHub buttons.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: split DESIGN_SPEC.md into pure design doc vs. current state/roadmap

2 participants