Architecture
These views explain how Octoform 0.3 turns reviewed YAML into observable,
planned, and explicitly confirmed GitHub operations. They describe the released
system and exclude planned multi-owner or organization-management features.
Every diagram is rendered locally from versioned PlantUML source. The public
site serves static SVG files and sends neither documentation content nor source
code to an external diagram service.
Requirements views
| Artefact |
Purpose |
| Actors and use cases |
Define each human, automation, application, and external-system role and the individual goals they pursue. |
| System context |
Show how those actors enter through the CLI or ESM API and how Octoform reaches GitHub. |
Software structure
| Artefact |
Purpose |
| Container view |
Locate the Node.js process, local inputs, credential boundary, transport, output, and GitHub state. |
| Runtime components |
Explain responsibilities and dependencies inside the process. |
| Domain model |
Define declared, observed, capability, planned, and applied concepts. |
Behavior and state
| Artefact |
Purpose |
| Configuration loading |
Trace recursive imports, relative paths, composition, and validation. |
| Policy resolution |
Resolve defaults, type policy, named overrides, null, and management boundaries. |
| Repository selection |
Explain owner-aware discovery, exclusions, filters, archive handling, and observation scope. |
| Plan and apply |
Sequence reads, planning, confirmation, grouped mutation, and results. |
| State models |
Follow configuration and individual changes through their complete lifecycles. |
Trust and delivery
| Artefact |
Purpose |
| Trust and data flow |
Identify credential, configuration, network, GitHub, and logging boundaries. |
| Automation patterns |
Separate pull-request planning, scheduled auditing, and protected apply. |
| Release pipelines |
Relate application patches, documentation lines, editorial publication tags, and deployment. |
Cross-cutting safety properties
- Omission means unmanaged, not disabled or deleted.
- Unreadable state remains distinguishable from an absent value.
- Capability comes from GitHub evidence, not hard-coded plan names.
apply uses the executable changes displayed in that invocation.
- Blocked changes remain reportable and never reach the applier.
- Endpoint groups can fail independently; successful groups are not rolled
back automatically.
- Undeclared rulesets, environments, branches, and files are not deleted.
The audited behavior baseline records the
published package and API evidence behind these properties.