<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.schitzopunk.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AReliability</id>
	<title>Module:Reliability - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.schitzopunk.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AReliability"/>
	<link rel="alternate" type="text/html" href="https://wiki.schitzopunk.com/index.php?title=Module:Reliability&amp;action=history"/>
	<updated>2026-11-03T16:29:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.schitzopunk.com/index.php?title=Module:Reliability&amp;diff=157&amp;oldid=prev</id>
		<title>Gershon: Reliability apparatus: tag rendering, entity box, attributed accounts, sourcing footers</title>
		<link rel="alternate" type="text/html" href="https://wiki.schitzopunk.com/index.php?title=Module:Reliability&amp;diff=157&amp;oldid=prev"/>
		<updated>2026-09-05T12:08:03Z</updated>

		<summary type="html">&lt;p&gt;Reliability apparatus: tag rendering, entity box, attributed accounts, sourcing footers&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Module:Reliability&lt;br /&gt;
--&lt;br /&gt;
-- Single source of truth for the wiki&amp;#039;s reliability tags.&lt;br /&gt;
-- Template:R renders one tag. Template:Legend renders the whole table.&lt;br /&gt;
-- Add a tag here and it appears in the legend automatically.&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Ordered because the legend reads as a scale: what one person swears to,&lt;br /&gt;
-- down through what nobody will stand behind.&lt;br /&gt;
local order = {&lt;br /&gt;
	&amp;#039;firsthand&amp;#039;, &amp;#039;astroturf&amp;#039;, &amp;#039;unverified&amp;#039;, &amp;#039;contested&amp;#039;, &amp;#039;leaked&amp;#039;,&lt;br /&gt;
	&amp;#039;defector&amp;#039;, &amp;#039;inherited&amp;#039;, &amp;#039;warning&amp;#039;, &amp;#039;synthetic&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local tags = {&lt;br /&gt;
	firsthand = {&lt;br /&gt;
		label = &amp;#039;firsthand&amp;#039;,&lt;br /&gt;
		colour = &amp;#039;#1f4d2e&amp;#039;,&lt;br /&gt;
		meaning = &amp;#039;Someone claims they were there. Uncorroborated by definition — &amp;#039;&lt;br /&gt;
			.. &amp;#039;a seeker who survives an encounter is not thereby a reliable witness to it.&amp;#039;,&lt;br /&gt;
		category = &amp;#039;Firsthand accounts&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	astroturf = {&lt;br /&gt;
		label = &amp;#039;astroturf&amp;#039;,&lt;br /&gt;
		-- Deliberately close to firsthand&amp;#039;s green. That is what astroturf is for:&lt;br /&gt;
		-- it is built to be mistaken for the real thing at a glance. Read the word.&lt;br /&gt;
		colour = &amp;#039;#3f7a3f&amp;#039;,&lt;br /&gt;
		meaning = &amp;#039;A claim that is made to look like many independent people arriving at the &amp;#039;&lt;br /&gt;
			.. &amp;#039;same conclusion, and is not. Manufactured human consensus &amp;amp;mdash; as distinct from &amp;#039;&lt;br /&gt;
			.. &amp;#039;synthetic?, which is text with no person behind it at all.&amp;#039;,&lt;br /&gt;
		category = &amp;#039;Manufactured consensus&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	unverified = {&lt;br /&gt;
		label = &amp;#039;unverified&amp;#039;,&lt;br /&gt;
		colour = &amp;#039;#3a3a3a&amp;#039;,&lt;br /&gt;
		meaning = &amp;#039;The default state of everything here. Written down, passed on, never confirmed. &amp;#039;&lt;br /&gt;
			.. &amp;#039;Absence of this tag means nothing; assume it.&amp;#039;,&lt;br /&gt;
		category = &amp;#039;Unverified accounts&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	contested = {&lt;br /&gt;
		label = &amp;#039;contested&amp;#039;,&lt;br /&gt;
		colour = &amp;#039;#6b4310&amp;#039;,&lt;br /&gt;
		meaning = &amp;#039;Two or more accounts survive and they do not agree. Both are recorded. &amp;#039;&lt;br /&gt;
			.. &amp;#039;Do not resolve the contradiction by deleting half of it.&amp;#039;,&lt;br /&gt;
		category = &amp;#039;Contested accounts&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	leaked = {&lt;br /&gt;
		label = &amp;#039;leaked&amp;#039;,&lt;br /&gt;
		colour = &amp;#039;#4a1f3d&amp;#039;,&lt;br /&gt;
		meaning = &amp;#039;Taken from a cult, an agency or a private archive by someone without permission. &amp;#039;&lt;br /&gt;
			.. &amp;#039;Consider who benefited from you reading it.&amp;#039;,&lt;br /&gt;
		category = &amp;#039;Leaked material&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	defector = {&lt;br /&gt;
		label = &amp;#039;defector&amp;#039;,&lt;br /&gt;
		colour = &amp;#039;#123f52&amp;#039;,&lt;br /&gt;
		meaning = &amp;#039;Supplied by a former member of the body it describes. Detailed, bitter, &amp;#039;&lt;br /&gt;
			.. &amp;#039;and shaped by the leaving.&amp;#039;,&lt;br /&gt;
		category = &amp;#039;Defector accounts&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	inherited = {&lt;br /&gt;
		label = &amp;#039;inherited&amp;#039;,&lt;br /&gt;
		colour = &amp;#039;#4a3f22&amp;#039;,&lt;br /&gt;
		meaning = &amp;#039;Copied from an older tome or an older wiki by hands that did not understand it. &amp;#039;&lt;br /&gt;
			.. &amp;#039;Errors here are centuries deep.&amp;#039;,&lt;br /&gt;
		category = &amp;#039;Inherited material&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	warning = {&lt;br /&gt;
		label = &amp;#039;&amp;amp;#9888; warning&amp;#039;,&lt;br /&gt;
		colour = &amp;#039;#6b1a1a&amp;#039;,&lt;br /&gt;
		meaning = &amp;#039;Reading, repeating or attempting this has hurt people. &amp;#039;&lt;br /&gt;
			.. &amp;#039;The entry is kept because hiding it has also hurt people.&amp;#039;,&lt;br /&gt;
		category = &amp;#039;Marked dangerous&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	synthetic = {&lt;br /&gt;
		label = &amp;#039;synthetic?&amp;#039;,&lt;br /&gt;
		colour = &amp;#039;#2f2a5e&amp;#039;,&lt;br /&gt;
		meaning = &amp;#039;Suspected of having been written by no one. Style without a source behind it. &amp;#039;&lt;br /&gt;
			.. &amp;#039;See [[The Pattern]].&amp;#039;,&lt;br /&gt;
		category = &amp;#039;Suspected synthetic&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local aliases = {&lt;br /&gt;
	[&amp;#039;synthetic?&amp;#039;] = &amp;#039;synthetic&amp;#039;,&lt;br /&gt;
	astroturfed = &amp;#039;astroturf&amp;#039;,&lt;br /&gt;
	manufactured = &amp;#039;astroturf&amp;#039;,&lt;br /&gt;
	ai = &amp;#039;synthetic&amp;#039;,&lt;br /&gt;
	warn = &amp;#039;warning&amp;#039;,&lt;br /&gt;
	unknown = &amp;#039;unverified&amp;#039;,&lt;br /&gt;
	first = &amp;#039;firsthand&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function resolve( name )&lt;br /&gt;
	name = mw.text.trim( ( name or &amp;#039;&amp;#039; ):lower() )&lt;br /&gt;
	name = aliases[ name ] or name&lt;br /&gt;
	return tags[ name ] and name or &amp;#039;unverified&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- The chip itself. TemplateStyles is not installed on this wiki, so the styles&lt;br /&gt;
-- are inline on purpose. Colours are dark with light text so they survive&lt;br /&gt;
-- whatever skin the reader is using.&lt;br /&gt;
local function chip( key, suffix, title )&lt;br /&gt;
	local t = tags[ key ]&lt;br /&gt;
	return mw.ustring.format(&lt;br /&gt;
		&amp;#039;&amp;lt;span class=&amp;quot;sp-tag sp-tag-%s&amp;quot; title=&amp;quot;%s&amp;quot; style=&amp;quot;display:inline-block;&amp;#039;&lt;br /&gt;
			.. &amp;#039;font-family:monospace;font-size:0.78em;line-height:1.5;padding:0 6px;&amp;#039;&lt;br /&gt;
			.. &amp;#039;border-radius:3px;white-space:nowrap;color:#e8e4dc;background:%s;&amp;#039;&lt;br /&gt;
			.. &amp;#039;border:1px solid rgba(255,255,255,0.2);&amp;quot;&amp;gt;%s%s&amp;lt;/span&amp;gt;&amp;#039;,&lt;br /&gt;
		key,&lt;br /&gt;
		mw.text.encode( title or ( t.meaning:gsub( &amp;#039;%[%[(.-)%]%]&amp;#039;, &amp;#039;%1&amp;#039; ) ) ),&lt;br /&gt;
		t.colour,&lt;br /&gt;
		t.label,&lt;br /&gt;
		suffix or &amp;#039;&amp;#039;&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- {{R|leaked|by=anon|date=1998|note=...}}&lt;br /&gt;
function p.tag( frame )&lt;br /&gt;
	local parent = frame:getParent()&lt;br /&gt;
	local args = parent and parent.args or frame.args&lt;br /&gt;
	local key = resolve( args[1] )&lt;br /&gt;
&lt;br /&gt;
	local suffix = &amp;#039;&amp;#039;&lt;br /&gt;
	if args.by and args.by ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		suffix = suffix .. &amp;#039; &amp;amp;middot; &amp;#039; .. args.by&lt;br /&gt;
	end&lt;br /&gt;
	if args.date and args.date ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		suffix = suffix .. &amp;#039; &amp;amp;middot; &amp;#039; .. args.date&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local out = chip( key, suffix, args.note )&lt;br /&gt;
&lt;br /&gt;
	-- Only track articles. Templates and help pages demonstrating a tag&lt;br /&gt;
	-- should not show up as if they were claims.&lt;br /&gt;
	if mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
		out = out .. &amp;#039;[[Category:&amp;#039; .. tags[ key ].category .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.legend( frame )&lt;br /&gt;
	local rows = {}&lt;br /&gt;
	for _, key in ipairs( order ) do&lt;br /&gt;
		table.insert( rows, mw.ustring.format(&lt;br /&gt;
			&amp;#039;|-\n| style=&amp;quot;padding:6px 10px;vertical-align:top;white-space:nowrap;&amp;quot; | %s\n&amp;#039;&lt;br /&gt;
				.. &amp;#039;| style=&amp;quot;padding:6px 10px;vertical-align:top;&amp;quot; | %s&amp;#039;,&lt;br /&gt;
			chip( key ), tags[ key ].meaning&lt;br /&gt;
		) )&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;max-width:52em;&amp;quot;\n&amp;#039;&lt;br /&gt;
		.. &amp;#039;! style=&amp;quot;text-align:left;padding:6px 10px;&amp;quot; | Tag\n&amp;#039;&lt;br /&gt;
		.. &amp;#039;! style=&amp;quot;text-align:left;padding:6px 10px;&amp;quot; | What it means when you see it\n&amp;#039;&lt;br /&gt;
		.. table.concat( rows, &amp;#039;\n&amp;#039; ) .. &amp;#039;\n|}&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Gershon</name></author>
	</entry>
</feed>