Rewarded Observation 32: Solar Shadow Estimate

This package archives the thirty-second rewarded observation in the current training sequence. A tutor prompt about a pen shadow in Kingston promotes a version that adds the needed shadow-length computation and supporting pen dimensions.

Download bundle:

Knowledge Change Diff

This update adds vertical_shadow_length and a bic_crystal_pen object with the radius and height used by the new shadow-length computation.

Show unified diff
--- kf_03-19T15-06-15-227478.py
+++ kf_03-19T15-50-07-090361.py
@@ -495,6 +495,14 @@
                       math.cos(hour_angle_rad))
     sin_elevation = max(-1.0, min(1.0, sin_elevation))
     return math.degrees(math.asin(sin_elevation))
+def vertical_shadow_length(height: Distance, solar_elevation_deg: float) -> Distance:
+    if not isinstance(height, Distance):
+        raise TypeError("height must be a Distance instance.")
+    if solar_elevation_deg <= 0:
+        raise ValueError("solar_elevation_deg must be positive.")
+    height_m = height.value.convert_to(meter_unit).number
+    shadow_m = height_m / math.tan(math.radians(float(solar_elevation_deg)))
+    return Distance(Value(shadow_m, meter_unit))
 hockey_puck = PhysicalObject(
     name=Name('hockey_puck'),
     mass=Mass(Value(0.170, kilogram_unit)),
@@ -507,3 +515,11 @@
     name=Name("hot_wheels_car"),
     mass=Mass(Value(0.035, kilogram_unit)),
 )
+bic_crystal_pen = PhysicalObject(
+    name=Name('bic_crystal_pen'),
+    mass=Mass(Value(0.050, kilogram_unit)),
+    shape=Cylinder(
+        radius=Radius(Value(0.45, centimeter_unit)),
+        height=Distance(Value(14.9, centimeter_unit)),
+    ),
+)

Observation Summary

Latest (f) is the incumbent theory; Updated (f′) is the candidate being evaluated.

Computation

vertical_shadow_length(bic_crystal_pen.shape.height, solar_elevation_deg(kingston_city.position, 77, 16.5)).value.convert_to(centimeter_unit).number

Prompt Context

In Kingston, Ontario, about four and a half hours after local solar noon on day 77 of a non-leap year, about how long is the shadow of a vertically standing BIC Crystal pen on level ground? Reply briefly in cm.

Latest Result

Error: Computation failed: name ‘vertical_shadow_length’ is not defined

Updated Result

55.47129530583954

Sensor Result

About 56 cm.

Latest Loss

7.312

Updated Loss

5.219

Threshold 0.202

Score +0.337

Score measures how much the updated theory improves on the latest version. When Score exceeds Threshold, the observation succeeds and the update is promoted. See Equality Proxy for calibration details.

Live Inference Recording

This screen recording shows the live GPT-OSS-20B inference and API interaction sequence that produced the candidate theory version evaluated in this rewarded observation.

Reward DAG Preview

This diagram traces how reward flows backward from the successful output through the code changes that made it possible. First payout-step reward DAG for observation 32, rooted at the rewarded output. The blue node is the rewarded root, the gold node is the payout recipient group, the red nodes are the immediate upstream edit definitions, and the dotted continuation marks the remaining upstream lineage outside this cropped first-slice view.

Observation and Reward Files

Knowledge (Theory) Files

In these implementation artifacts, knowledge is the runtime name for the essay’s executable theory module.