docs(core): define constructive domain modeling - #1207
Open
phernandez wants to merge 1 commit into
Open
Conversation
Signed-off-by: phernandez <paul@basicmachines.co>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Basic Memory's existing style guidance favored explicit types and fail-fast control flow, but it
did not name a consistent method for replacing procedural validation and expected-outcome
exceptions with types that describe the states the product actually supports.
Issue #1205 tracks focused, behavior-preserving refactor slices. This PR lands the shared
vocabulary and authoring/review rules first so later implementation work has a concrete design
standard.
What Changed
docs/ENGINEERING_STYLE.md.and trusted boundary parsing.
.agents/skills/pythonic-code/SKILL.mdso Write, Refactor, and Review modes identifyhigh-payoff constructive modeling opportunities.
Implementation Details
remains the validation and serialization model at API, CLI, MCP, configuration, and persistence
boundaries.
Resultwrappers, effectruntimes, and wrapper-only identifiers require a demonstrated benefit rather than becoming a
project-wide convention.
internal value. The guide requires tracing writers and serialized forms before narrowing those
schemas.
behavior change.
Testing
Automated
uv run python /Users/phernandez/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/pythonic-code: passed.just -f .agents/skills/pythonic-code/justfile validate: all three eval definitions, fixtures,runner lint, and formatting passed.
just -f .agents/skills/pythonic-code/justfile eval-dry-run: all three paired eval casesresolved successfully.
just fast-check: ruff fixes/checks, formatting, andtytype checking passed.git diff --check origin/main...HEAD: passed.Manual
Risks / Follow-ups
validated for this documentation-only change.
Related to #1205.