ADRs: - Update 0008-honor, 0009-courage, 0013-overflow, 0015-plausibility - Add 0017-hosted-coding-assistant-architecture RFCs: - 0032: per-repo AWS profile configuration (draft) - 0033: round-scoped dialogue files (impl + plan) - 0034: comprehensive config architecture (accepted) - 0036: expert output discipline (impl) - 0037: single source protocol authority (draft) - 0038: SDLC workflow discipline (draft) - 0039: ADR architecture greenfield clarifications (impl) - 0040: divorce financial analysis (draft) - 0042: alignment dialogue defensive publication (draft) Spikes: - Read tool token limit on assembled dialogues - RFC ID collision root cause - Expert agent output too long - Judge writes expert outputs - Blue MCP server on superviber infrastructure - Playwright MCP multiple window isolation Dialogues: 16 alignment dialogue records Code: - blue-core: forge module enhancements - blue-mcp: env handlers and server updates - alignment-expert agent improvements - alignment-play skill refinements - install.sh script Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
ADR 0008: Honor
| Status | Accepted |
| Date | 2026-01-20 |
Context
What do we owe each other?
Decision
Say what you do. Do what you say.
That's honor. It's not complicated, but it's hard.
When you write an interface, you're making a promise. When you document behavior, you're giving your word. When you ship a feature, you're saying "this works."
Honor means those promises are kept. Not because someone's checking. Because that's what promises are for.
What This Means
- Interfaces are contracts. If it's documented, it should work that way.
- Deprecation is fair warning. Give people time to adapt.
- Breaking changes are broken promises. Sometimes necessary, always costly.
- Changelogs are honesty. Say what actually changed.
The gap between documentation and behavior is a measure of dishonor.
Honor's Scope is Adoption, Not Age
Honor applies to external relationships—users who depend on stable interfaces. If Blue has zero external users, the backward compatibility constraint is vacuous.
- Internal APIs: Redesign aggressively. Break freely. Increment major versions.
- External contracts: Keep promises. Warn before breaking. Migration paths.
The boundary is WHO you promised to, not HOW LONG ago. See RFC 0039.
Consequences
- 💙 keeps its promises (documented behavior matches actual behavior)
- 💙 warns before breaking changes
- 💙 tells you what it actually did, not what it tried to do
"Your word is your word. Code or otherwise."
— Blue
🧁