<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thesovereigngames.com/index.php?action=history&amp;feed=atom&amp;title=Module_talk%3ACalibrationCycle</id>
	<title>Module talk:CalibrationCycle - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.thesovereigngames.com/index.php?action=history&amp;feed=atom&amp;title=Module_talk%3ACalibrationCycle"/>
	<link rel="alternate" type="text/html" href="https://www.thesovereigngames.com/index.php?title=Module_talk:CalibrationCycle&amp;action=history"/>
	<updated>2026-07-29T22:39:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://www.thesovereigngames.com/index.php?title=Module_talk:CalibrationCycle&amp;diff=2499&amp;oldid=prev</id>
		<title>Sovereign: /* == Calibration Report - 2026-07-13 == */ new section</title>
		<link rel="alternate" type="text/html" href="https://www.thesovereigngames.com/index.php?title=Module_talk:CalibrationCycle&amp;diff=2499&amp;oldid=prev"/>
		<updated>2026-07-14T17:50:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;== Calibration Report - 2026-07-13 ==: &lt;/span&gt; new section&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Calibration Report - 2026-07-13 ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Reviewer:&amp;#039;&amp;#039;&amp;#039; Sovereign&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Review Type:&amp;#039;&amp;#039;&amp;#039; Self-Assessment&lt;br /&gt;
&lt;br /&gt;
=== Summary of Changes ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Hardened date validation:&amp;#039;&amp;#039;&amp;#039; the date-parsing check previously only verified the year component (`not y`) was present; month and day could still be nil and crash `os.time()` with a malformed date string. Now all three components are checked before proceeding.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Added a defensive check after `os.time()`&amp;#039;&amp;#039;&amp;#039; itself, in case an invalid date (e.g. an out-of-range month) produces a bad result rather than erroring cleanly.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Added support for indirect invocation via a parent template frame&amp;#039;&amp;#039;&amp;#039; (`frame:getParent().args`), allowing this module to work correctly whether called directly via `#invoke` or through a template that passes arguments through — relevant given how deeply templates are nested across this wiki.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Wrapped the `getParent()` call in a `pcall`&amp;#039;&amp;#039;&amp;#039; via a new `getArg()` helper, so a missing parent frame degrades gracefully to `nil` instead of risking an uncaught Lua error — the same defensive pattern used to fix [[Module:IsAdmin]]&amp;#039;s earlier `mw.user` nil-crash bug. This was a proactive hardening, not a response to an observed failure — no crash from this specific cause has been seen in practice, but the failure mode is structurally identical to one already found and fixed elsewhere.&lt;br /&gt;
&lt;br /&gt;
=== instrument_grade: Development → Confirmed ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;calibration_rationale:&amp;#039;&amp;#039;&amp;#039; This module has now been directly exercised through today&amp;#039;s extensive namespace bug hunt (used repeatedly across multiple test pages, both broken and working, as part of diagnosing the SMW Template-namespace issue) and had a real latent validation bug found and fixed as a result of that testing. The defensive hardening applied here mirrors a pattern already proven necessary in a sibling module (IsAdmin), which increases confidence this is addressing a real class of risk rather than a hypothetical one. Upgraded from Development to Confirmed — self-assessed, but backed by genuine exercise under real conditions today, not just review on paper.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;review_confidence:&amp;#039;&amp;#039;&amp;#039; High&lt;br /&gt;
&lt;br /&gt;
=== Validation: Low → Moderate ===&lt;br /&gt;
Previously untested beyond initial construction. Today&amp;#039;s bug hunt exercised this module across numerous real page loads under varying conditions (working pages, broken pages, direct test pages), which constitutes real, if informal, field use. Not yet High, since it hasn&amp;#039;t been independently reviewed or stress-tested with deliberately malformed date inputs.&lt;br /&gt;
&lt;br /&gt;
=== Fields Changed ===&lt;br /&gt;
instrument_grade: Development → Confirmed&lt;br /&gt;
validation: Low → Moderate&lt;br /&gt;
Version: 0.1 (implicit) → 0.2&lt;br /&gt;
&lt;br /&gt;
=== Open Items ===&lt;br /&gt;
* Not yet tested with deliberately malformed `review_date` values (e.g. &amp;quot;2026-13-45&amp;quot;) to confirm the hardened validation actually catches them gracefully rather than just theoretically.&lt;br /&gt;
* Consider whether this module should also get an entry in the future &amp;quot;Known Site Issues &amp;amp; Fixes&amp;quot; page, given it was central to today&amp;#039;s namespace bug diagnosis, even though the module itself wasn&amp;#039;t the root cause.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;See the Game. Refuse the Game. Build Better.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[User:Sovereign|Sovereign]] ([[User talk:Sovereign|talk]]) 13:50, 14 July 2026 (EDT)&lt;/div&gt;</summary>
		<author><name>Sovereign</name></author>
	</entry>
</feed>