feat(lang): complete extends to modifies keyword migration

This commit completes the migration started in the previous commit,
updating all remaining files:

- Lexer: Changed token from Extends to Modifies
- Parser: Updated lalrpop grammar rules and AST field names
- AST: Renamed Schedule.extends field to modifies
- Grammar: Updated tree-sitter grammar.js
- Tree-sitter: Regenerated parser.c and node-types.json
- Examples: Updated baker-family work schedules
- Tests: Updated schedule composition tests and corpus
- Docs: Updated all reference documentation and tutorials
- Validation: Updated error messages and validation logic
- Package: Bumped version to 0.3.1 in all package manifests

All 554 tests pass.
This commit is contained in:
2026-02-16 22:55:04 +00:00
parent 2c898347ee
commit 47fafdc2bf
109 changed files with 5045 additions and 41939 deletions

View File

@@ -163,8 +163,8 @@ life_arc HasOrphan {
| Rule | Description | Severity |
|------|-------------|----------|
| Time format | Times must be valid HH:MM or HH:MM:SS | Error |
| Extends exists | Base schedule must be defined | Error |
| No circular extends | Schedule chains cannot form cycles | Error |
| Modifies exists | Base schedule must be defined | Error |
| No circular modifies | Schedule chains cannot form cycles | Error |
| Named blocks unique | Block names must be unique within a schedule | Error |
| Action references valid | Action references must resolve to defined behaviors | Error |
| Constraint values valid | Temporal constraint values must reference defined enums | Error |
@@ -182,10 +182,10 @@ schedule Bad {
}
```
**Circular extends:**
**Circular modifies:**
```storybook
schedule A extends B { }
schedule B extends A { } // Error: circular schedule extension detected
schedule A modifies B { }
schedule B modifies A { } // Error: circular schedule extension detected
```
## Relationship Validation
@@ -359,7 +359,7 @@ character Good {
| Template | Unique name, valid includes, valid ranges, strict enforcement |
| Behavior | Non-empty, valid composites, valid decorators, valid subtrees |
| Life Arc | Non-empty, unique states, valid transitions, reachable states |
| Schedule | Valid times, valid extends chain, unique block names |
| Schedule | Valid times, valid modifies chain, unique block names |
| Relationship | >= 2 participants, valid references |
| Species | Unique name, valid includes, no cycles |
| Enum | Unique name, unique variants, non-empty |