← Small House

North Roof Slope

v1 AI approved

North SIP-120 roof slope (142mm total), ridge_length 8000mm, half-span 3000mm, pitch 30 deg, eave height 2700mm, eave overhang 400mm, rake overhang 300mm each end, low drainage. Bears on north_wall bevelled top plate and ridge_beam north bevel face; plumb-cut mitre meets south slope at ridge centreline via structural screws.

Dependencies

north_wall.north_top_plate ridge_beam.ridge_bevel_north gable_roof_south.south_slope_mitre

Interfaces Provided

north_slope_mitre (connection)
◉
Agent initialized (status: waiting_for_dependencies, action: check_dependencies)
◉
Provider: claude_code | Profile: quality
◉
Provider updated to claude_code / quality
◉
Provider updated to claude_code / quality
◉
Provider updated to claude_code / quality
◇
Received interface north_wall.north_top_plate: %{name: "north_top_plate", type: "connection", value: %{}, agent_id: "north_wall"}
◇
Received interface north_wall.north_inner_face: %{name: "north_inner_face", type: "connection", value: %{}, agent_id: "north_wall"}
◉
Provider updated to claude_code / quality
◉
Provider updated to claude_code / quality
◉
Provider updated to claude_code / quality
◇
Received interface ridge_beam.ridge_bevel_south: %{name: "ridge_bevel_south", type: "connection", value: %{}, agent_id: "ridge_beam"}
◇
Received interface ridge_beam.ridge_bevel_north: %{name: "ridge_bevel_north", type: "connection", value: %{}, agent_id: "ridge_beam"}
◉
Provider updated to claude_code / quality
◇
Received interface gable_roof_south.south_slope_mitre: %{name: "south_slope_mitre", type: "connection", value: %{}, agent_id: "gable_roof_south"}
◉
All dependencies resolved, starting generation
◉
Refreshed placement from design spec (bbox %{"x" => 8600.0, "y" => 4007.9655687143822, "z" => 142.0})
◉
Generating v1
◉
Using deterministic sip.gable_roof_slope generation
◆
gable_roof_north_v1.py · 16 lines
from elixifree.domains.sip import PitchedRoofSlope

result = (
    PitchedRoofSlope(
        ridge_length=8000.0,
        half_span=3000.0,
        pitch_degrees=30.0,
        stock="SIP-120",
        is_south=False,
        eave_overhang=400.0,
        rake_overhang=300.0,
    )
    .build()
)
result.add_to_doc("Body")
●
Executing in FreeCAD...
◉
StepAnalyzer failed: FreeCAD could not read STEP file: FreeCAD exception thrown (File to load not existing or not readable) — skipping
●
FreeCAD execution succeeded
●
Exported: model.stl
★
Ready for review (v1)
◉
All components generated — triggering joinery coherence review
◉
Provider updated to claude_code / quality
◉
Provider updated to claude_code
◉
Component approved by user
◉
All components approved — recomputing placements and rebuilding assembly
◉
Provider updated to claude_code / quality
◉
Provider updated to claude_code / quality
◉
Provider updated to claude_code / quality
◉
Provider updated to claude_code / quality
◉
Provider updated to claude_code / quality
◇
Received interface ridge_beam.ridge_bearing: %{name: "ridge_bearing", type: "bearing", value: %{}, agent_id: "ridge_beam"}
v0.0.985