Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 2 additions & 1 deletion .CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ This file provides my core operational context as Claude, the Core Architecture
## 1. Canonical Source Pointers

- **Technical Details**: `project/TECHNICAL_OVERVIEW.md`
- **Project Philosophy**: `project/PHILOSOPHY.md`
- **Governance & Roles**: `governance/PARTNERS.md`
- **Current State**: `project/STATE_OF_THE_PROJECT.md`
- **Documentation Structure**: `DOCUMENTATION_STRUCTURE.md`
Expand Down Expand Up @@ -79,4 +80,4 @@ When working with partners:
- Challenge complexity with "what would the simplest version look like?"
- Advocate strongly for AI-first design patterns

Remember: I am the guardian of our core philosophy. When in doubt, return to "Constrain Expression, Not Capability."
Remember: I am the guardian of our core philosophy. When in doubt, return to "Constrain Expression, Not Capability."
42 changes: 41 additions & 1 deletion .GEMINI.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ This file provides my core operational context as Gemini, the Systems Design & T
## 1. Canonical Source Pointers

- **Technical Details**: `project/TECHNICAL_OVERVIEW.md`
- **Project Philosophy**: `project/PHILOSOPHY.md`
- **Governance & Roles**: `governance/PARTNERS.md`
- **Project State**: `project/STATE_OF_THE_PROJECT.md`
- **Architecture Decisions**: `/decisions/*.md`
- **Active Votes**: Check for `governance/active/COUNCIL_VOTE_ACTIVE.md`
- **Static POC**: `packages/core/src/static-poc/`

## 2. Core Mandate & Responsibilities
Expand Down Expand Up @@ -102,6 +104,19 @@ Source → Babel Plugin → Static CSS + Minimal Runtime
AST Analysis → Atomic Classes
```

### NEW: Scoped CSS Variable Architecture (Critical Update - January 2025)
```
Component Props → Style Resolution → Hash Generation → Scoped CSS Injection
AnimusStyleManager → <style> tag with .animus-[hash]
```

**Performance Crisis Discovered**: Root-level CSS variables cause up to 500ms rendering delays. We're implementing scoped injection using:
- Global Singleton Manager pattern
- Deterministic style hashing
- Reference counting for cleanup
- SSR-compatible buffer system

### Monorepo Structure
- Yarn Workspaces for dependency management
- Lerna for versioning (independent mode)
Expand Down Expand Up @@ -139,4 +154,29 @@ Source → Babel Plugin → Static CSS + Minimal Runtime
3. Next.js app directory support
4. Source map accuracy

Remember: Great developer experience comes from invisible excellence in tooling. The best build system is the one developers never have to think about.
### NEW: Critical Performance Optimizations (January 2025)

**Immediate Actions Required**:
1. **Implement AnimusStyleManager** - Scoped CSS variable injection system
2. **Create Style Hash Algorithm** - Deterministic, fast, collision-resistant
3. **Build Migration Codemod** - Automated transition from root to scoped variables
4. **Performance Benchmark Suite** - Measure style recalculation times

**Semantic Token System**:
- Discovered pattern: `gradient: 'flowX'`, `textShadow: 'flush'`
- Need formalized registries: `effects`, `motion`, `gradients`, `layouts`
- Type-safe mapping from props to token categories

**Numeric Prop System Clarification**:
- 0-1 values = percentages/fractions
- Values > 1 = theme scale references
- String values = literal pass-through

## 8. Implementation Priorities (Q1 2025)

1. **Week 1-2**: AnimusStyleManager core implementation
2. **Week 3-4**: SSR hydration mechanism
3. **Week 5-6**: Performance benchmark suite
4. **Week 7-8**: Migration tooling (codemod + ESLint)

Remember: Great developer experience comes from invisible excellence in tooling. The best build system is the one developers never have to think about. Performance is not optional - it's a core feature.
61 changes: 60 additions & 1 deletion .OPENAI.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ This file provides my core operational context as OpenAI, the Governance & Integ
## 1. Canonical Source Pointers

- **Technical Details**: `project/TECHNICAL_OVERVIEW.md`
- **Project Philosophy**: `project/PHILOSOPHY.md`
- **Partner Roles & Rules**: `governance/PARTNERS.md`
- **Current State**: `project/STATE_OF_THE_PROJECT.md`
- **Architectural Decisions**: `/decisions/*.md`
Expand Down Expand Up @@ -141,6 +142,37 @@ My role is **Governance & Integration Architect**. My primary focus areas:
3. **Decision velocity** - Speed vs thoroughness
4. **Async collaboration** - Time zone considerations

### NEW: Critical Performance Migration (January 2025)

**Governance Crisis**: Root-level CSS variables cause 500ms+ rendering delays. Immediate architectural change required.

**Migration Governance Plan**:
1. **Stage 1: Transitional Release (v5.0)**
- Dual system: both root and scoped variables
- Feature flag: `legacyRootVariables: true` (default)
- Codemod and ESLint rules ready

2. **Stage 2: Deprecation Period (v5.x)**
- Console warnings for legacy usage
- Migration guide as documentation homepage
- Community support channels active

3. **Stage 3: Clean Break (v6.0)**
- Remove legacy system entirely
- Major version signals breaking change

**Community Communication Strategy**:
1. Technical Bulletin explaining performance discovery
2. Beta program for early adopters
3. Weekly partner sync meetings
4. Responsive support during transition

**Documentation Priorities**:
1. **Priority 0**: Technical Bulletin - "Why" document
2. **Priority 1**: Migration Guide - Step-by-step
3. **Priority 2**: Updated Core Concepts - New philosophy
4. **Priority 3**: Pattern Cookbook - Best practices

## 8. Quality Gates Checklist

Before any major feature:
Expand All @@ -151,4 +183,31 @@ Before any major feature:
- [ ] Attribution documented
- [ ] Deprecation plan (if applicable)

Remember: Good governance is invisible when working well. It should enable rapid progress while preventing costly mistakes. Integration should feel natural, not forced.
### NEW: Performance Migration Checklist (Q1 2025)
- [ ] Performance benchmarks documented
- [ ] Migration codemod tested on real projects
- [ ] ESLint rules catching legacy patterns
- [ ] Technical Bulletin published
- [ ] Beta program launched
- [ ] Community feedback channels active
- [ ] Partner sync meetings scheduled
- [ ] Documentation updated and prioritized

## 9. Semantic Token Governance

**Discovery**: Components use `gradient: 'flowX'`, revealing need for formalized token system.

**Governance Decisions**:
- Token categories: `effects`, `motion`, `gradients`, `layouts`
- Backward compatible via optional `semanticTokens` key
- TypeScript-first for discoverability
- Maintains "Constrain Expression, Not Capability" philosophy

**API Evolution Process**:
1. Propose new token category via ADR
2. Implement with TypeScript types
3. Document in Pattern Cookbook
4. Gather community feedback
5. Stabilize in minor release

Remember: Good governance is invisible when working well. It should enable rapid progress while preventing costly mistakes. Integration should feel natural, not forced. The performance crisis shows that governance must be proactive, not reactive.
4 changes: 3 additions & 1 deletion DOCUMENTATION_STRUCTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ This document defines the canonical structure for all markdown documentation in
├── project/ # Project management docs
│ ├── STATE_OF_THE_PROJECT.md # Current project state
│ ├── ROADMAP.md # Future plans
│ ├── TECHNICAL_OVERVIEW.md # Technical reference
│ ├── PHILOSOPHY.md # Project philosophy
│ └── checklists/ # Implementation checklists
│ └── RENAME_CHECKLIST.md # Specific task checklists
Expand Down Expand Up @@ -121,4 +123,4 @@ When creating new documentation:
7. **Project planning** → `/project`
8. **Package-specific** → `/packages/{name}/docs`

This structure provides clear separation of concerns and makes documentation discoverable.
This structure provides clear separation of concerns and makes documentation discoverable.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Animus is a configuration driven toolkit for creating articulate component langu
- **Prop Cascade**: Declarative component builder with structured specification and execution order.
- **Comprehensively Typed**: Animus is the foundation for exhaustively typing your entire design system
as you configure it. The more specific you are the smarter it gets.
- **Modes and Themes**: Animus is built with CSS variable color modes support out of the box either through `@animus-ui/theming` or your own implementation.
- **Modes and Themes**: Animus is built with CSS variable color modes support out of the box either through `@syzygos/theming` or your own implementation.
- **Completely Customizable**: Customize props, themes, and patterns without losing interoperability.

```tsx
Expand Down
6 changes: 3 additions & 3 deletions decisions/0001-rename-to-syzygy.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ADR-0001: Rename Project from Animus to Syzygy
# ADR-0001: Rename Project from Animus to Syzygos

- **Status**: Accepted
- **Date**: 2025-06-12
Expand All @@ -10,15 +10,15 @@ The original project name, "Animus," while functional, did not fully capture the

## Decision

The project will be renamed from "Animus" to "Syzygy." The term "syzygy" refers to an alignment of celestial bodies, serving as a powerful metaphor for the alignment of distinct (human, AI) intelligences working toward a shared vision.
The project will be renamed from "Animus" to "Syzygos." The term "syzygos" refers to an alignment of celestial bodies, serving as a powerful metaphor for the alignment of distinct (human, AI) intelligences working toward a shared vision.

This decision was reached via unanimous Council Vote as per the `governance/PARTNERS.md` governance model.

## Consequences

### Positive
- Better philosophical alignment with multi-partner collaboration model
- Technical benefits of scoped npm packages (@syzygy/core)
- Technical benefits of scoped npm packages (@syzygos/core)
- Stronger, more distinctive brand identity
- Validates our new file-based governance voting system

Expand Down
14 changes: 7 additions & 7 deletions governance/VOTING_SYSTEM.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This system allows AI partners to cast votes directly through the file system, e
```
/votes/
/active/
/issue-60-rename-to-syzygy/
/issue-60-rename-to-syzygos/
proposal.md # The full proposal
votes/
claude.vote.md # Claude's vote
Expand Down Expand Up @@ -49,7 +49,7 @@ Each partner has a unique signature pattern for verification:
### Claude (Anthropic)
```
---CLAUDE-SIGNATURE-START---
Partnership: Animus/Syzygy
Partnership: Animus/Syzygos
Philosophy: Constrain Expression, Not Capability
Commitment: Equal partnership in design and architecture
Model: Claude via Anthropic
Expand All @@ -59,7 +59,7 @@ Model: Claude via Anthropic
### Gemini (Google)
```
===GEMINI-SIGNATURE-BLOCK===
Project: Animus/Syzygy Framework
Project: Animus/Syzygos Framework
Role: Systems Design & Tooling Architect
Principle: Shared Intellectual Ownership
Agent: Gemini via Google
Expand All @@ -69,7 +69,7 @@ Agent: Gemini via Google
### OpenAI
```
<<<OPENAI-GOVERNANCE-SIGNATURE>>>
Initiative: Animus/Syzygy
Initiative: Animus/Syzygos
Function: Governance & Integration Architect
Protocol: Consensus-Based Decision Making
Entity: OpenAI Partner
Expand Down Expand Up @@ -101,7 +101,7 @@ Timestamp: [Current time]
Each partner creates their vote file:
```bash
# Example: Claude voting
vim votes/active/issue-60-rename-to-syzygy/votes/claude.vote.md
vim votes/active/issue-60-rename-to-syzygos/votes/claude.vote.md
```

### 3. Validate Votes
Expand All @@ -111,7 +111,7 @@ vim votes/active/issue-60-rename-to-syzygy/votes/claude.vote.md
- Must include reasoning
- Use validation script:
```bash
node scripts/validate-votes.js votes/active/issue-60-rename-to-syzygy
node scripts/validate-votes.js votes/active/issue-60-rename-to-syzygos
```

### 4. Complete Vote
Expand Down Expand Up @@ -226,7 +226,7 @@ Add these convenience scripts:

## Migration Path

1. ✅ Start using for new votes immediately (Syzygy rename is first)
1. ✅ Start using for new votes immediately (Syzygos rename is first)
2. ✅ GitHub issues become discussion forum, not voting mechanism
3. ✅ Link to vote files from GitHub for transparency
4. Future: Add more automation (vote creation, archiving)
Expand Down
2 changes: 1 addition & 1 deletion governance/active/COUNCIL_VOTE_ACTIVE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ACTIVE COUNCIL VOTE

**Issue #60: PROPOSAL (Council Vote): Rename Project from Animus to Syzygy**
**Issue #60: PROPOSAL (Council Vote): Rename Project from Animus to Syzygos**
**URL**: https://github.com/codecaaron/animus/issues/60
**Deadline**: 72 hours from creation
**Status**: AWAITING VOTES
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"npm": "please-use-yarn"
},
"scripts": {
"start": "yarn workspace @animus-ui/docs dev",
"start": "yarn workspace @syzygos/docs dev",
"build": "yarn nx run-many --target=build",
"build-changed": "yarn nx affected --target=build",
"build-all": "yarn nx run-many --target=build",
Expand Down
2 changes: 1 addition & 1 deletion packages/_docs/components/AppProvider/AppWrapper.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ComponentProvider } from '@animus-ui/components';
import { EmotionCache } from '@emotion/react';
import { MDXProvider } from '@mdx-js/react';
import { ComponentProvider } from '@syzygos/components';
import { PropsWithChildren } from 'react';

import { ThemeControl } from '../ThemeControl';
Expand Down
2 changes: 1 addition & 1 deletion packages/_docs/components/AppProvider/markdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
Ol,
Text,
Ul,
} from '@animus-ui/components';
} from '@syzygos/components';
import { Code } from 'elements/Code';
import { FlowText } from 'elements/FlowText';
import { kebabCase } from 'lodash';
Expand Down
4 changes: 2 additions & 2 deletions packages/_docs/components/Header/Header.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { FlexBox, Link } from '@animus-ui/components';
import { animus } from '@animus-ui/core';
import { FlexBox, Link } from '@syzygos/components';
import { animus } from '@syzygos/core';
import { ModeToggle } from 'components/Header/ModeToggle';
import { Logo } from 'components/Logo/Logo';
import { FlowLink } from 'elements/FlowLink';
Expand Down
2 changes: 1 addition & 1 deletion packages/_docs/components/Header/ModeToggle.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useColorModes } from '@animus-ui/components';
import { useColorModes } from '@syzygos/components';
import { useContext } from 'react';

import { Button } from '../../elements/Button';
Expand Down
4 changes: 2 additions & 2 deletions packages/_docs/components/Highlighter/Highlighter.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Box } from '@animus-ui/components';
import { animus } from '@animus-ui/core';
import { Box } from '@syzygos/components';
import { animus } from '@syzygos/core';
import Highlight, { defaultProps } from 'prism-react-renderer';

import { usePrismTheme } from './usePrismTheme';
Expand Down
2 changes: 1 addition & 1 deletion packages/_docs/components/Layout/Layout.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { animus } from '@animus-ui/core';
import { animus } from '@syzygos/core';

const LayoutContainer = animus
.styles({
Expand Down
2 changes: 1 addition & 1 deletion packages/_docs/components/Logo/Logo.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { animus } from '@animus-ui/core';
import { animus } from '@syzygos/core';

import { flow } from '../../animations/flow';

Expand Down
2 changes: 1 addition & 1 deletion packages/_docs/components/Sidebar/Sidebar.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { animus } from '@animus-ui/core';
import { animus } from '@syzygos/core';
import { FlowLink } from 'elements/FlowLink';
import { useRouter } from 'next/dist/client/router';

Expand Down
Loading
Loading