For the facade method, repeat steps 3a–3e:
a. Scaffold the facade method (subagent) (scaffold/update modes only) —
delegate to a subagent: load REFERENCE.md and the
Facade YARD Documentation skill,
then create or extend lib/git/repository/<topic>.rb using the Designing
a facade method section and
Topic module skeleton. For new topic
modules, also add the require and include lines to
lib/git/repository.rb.
Steps 3b and 3c may run in parallel (they produce independent files).
b. Scaffold unit tests (subagent) (scaffold/update modes only) — delegate
to a subagent: load Facade Test
Conventions (which loads RSpec Unit
Testing Standards), then create or
extend spec/unit/git/repository/<topic>_spec.rb following the unit
conventions (stub Git::Commands::* and Git::Parsers::* via
instance_double; assert delegation contracts; cover each pre-processing
branch).
c. Scaffold integration tests (subagent) (scaffold/update modes only) —
delegate to a subagent: load Facade Test
Conventions, then create or extend
spec/integration/git/repository/<topic>_spec.rb following the integration
conventions (real git in a temp repository; assert end-to-end Ruby return
value, not intermediate command results). Skip integration tests for true
one-line delegators that add no orchestration on top of the underlying
command — the command's own integration tests already cover that path.
Steps 3d and 3e may run in parallel (they review independent file sets).
d. Review Facade Tests (subagent) — delegate to a subagent: load and apply
Facade Test Conventions against the
unit and integration spec files. In scaffold/update modes, fix all findings
and repeat until clean. In review mode, record findings only.
e. Review YARD Documentation (subagent) — delegate to a subagent: load and
apply Facade YARD Documentation
against the topic module file. In scaffold/update modes, fix all findings
and repeat until clean. In review mode, record findings only.