<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3ANumbering_v_4.1</id>
	<title>ICT:Numbering v 4.1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3ANumbering_v_4.1"/>
	<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:Numbering_v_4.1&amp;action=history"/>
	<updated>2026-07-22T23:28:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mwiki.costasano.club/index.php?title=ICT:Numbering_v_4.1&amp;diff=259&amp;oldid=prev</id>
		<title>Mngr: Created page with &quot;= Numbering and Identifier Policy =  This page defines the official policy for identifiers, numbering, and file naming within the Costasano Heritage Database.  It establishes a single, consistent strategy to ensure:  * uniqueness * predictability * stability over time * minimal editorial effort * long-term maintainability  Identifiers are technical labels only.  They must never encode interpretation or semantics beyond grouping and sequencing.    == Scope ==  This policy...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:Numbering_v_4.1&amp;diff=259&amp;oldid=prev"/>
		<updated>2026-01-30T12:05:03Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Numbering and Identifier Policy =  This page defines the official policy for identifiers, numbering, and file naming within the Costasano Heritage Database.  It establishes a single, consistent strategy to ensure:  * uniqueness * predictability * stability over time * minimal editorial effort * long-term maintainability  Identifiers are technical labels only.  They must never encode interpretation or semantics beyond grouping and sequencing.    == Scope ==  This policy...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Numbering and Identifier Policy =&lt;br /&gt;
&lt;br /&gt;
This page defines the official policy for identifiers, numbering, and file naming within the Costasano Heritage Database.&lt;br /&gt;
&lt;br /&gt;
It establishes a single, consistent strategy to ensure:&lt;br /&gt;
&lt;br /&gt;
* uniqueness&lt;br /&gt;
* predictability&lt;br /&gt;
* stability over time&lt;br /&gt;
* minimal editorial effort&lt;br /&gt;
* long-term maintainability&lt;br /&gt;
&lt;br /&gt;
Identifiers are technical labels only.&lt;br /&gt;
&lt;br /&gt;
They must never encode interpretation or semantics beyond grouping and sequencing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
&lt;br /&gt;
This policy applies to:&lt;br /&gt;
&lt;br /&gt;
* DigitalAssets&lt;br /&gt;
* HeritageObjects (if numbered)&lt;br /&gt;
* MediaWiki file names derived from DigitalAssets&lt;br /&gt;
&lt;br /&gt;
It does NOT apply to:&lt;br /&gt;
&lt;br /&gt;
* Persons&lt;br /&gt;
* Organizations&lt;br /&gt;
* Places&lt;br /&gt;
* Keywords&lt;br /&gt;
* lookup tables&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Core philosophy =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Separation of concerns ==&lt;br /&gt;
&lt;br /&gt;
The system strictly separates:&lt;br /&gt;
&lt;br /&gt;
* Files → storage only&lt;br /&gt;
* DigitalAssets → interpretation and metadata&lt;br /&gt;
* Research entities → historical meaning&lt;br /&gt;
&lt;br /&gt;
Therefore:&lt;br /&gt;
&lt;br /&gt;
Files must NEVER define identity.&lt;br /&gt;
&lt;br /&gt;
Identity is defined only by research entities (primarily DigitalAssets).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Identifiers are mechanical ==&lt;br /&gt;
&lt;br /&gt;
Identifiers:&lt;br /&gt;
&lt;br /&gt;
* are generated automatically&lt;br /&gt;
* are sequential&lt;br /&gt;
* are context-based&lt;br /&gt;
* contain no interpretation&lt;br /&gt;
* must not be edited manually&lt;br /&gt;
&lt;br /&gt;
Meaning belongs in metadata fields, not in the identifier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== One source of truth ==&lt;br /&gt;
&lt;br /&gt;
Each entity has exactly one identifier.&lt;br /&gt;
&lt;br /&gt;
Derived objects must reuse that identifier rather than creating new numbering systems.&lt;br /&gt;
&lt;br /&gt;
No parallel or competing counters are allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Identifier structure =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Standard format ==&lt;br /&gt;
&lt;br /&gt;
Numbered entities use:&lt;br /&gt;
&lt;br /&gt;
  CHAPTER–CONTEXT–COUNTER&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  CH03-ROM-0007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
&lt;br /&gt;
==== Chapter ====&lt;br /&gt;
&lt;br /&gt;
Short code of the ResearchChapter.&lt;br /&gt;
&lt;br /&gt;
Provides narrative grouping.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
  CH03&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Context ====&lt;br /&gt;
&lt;br /&gt;
Short code of either:&lt;br /&gt;
&lt;br /&gt;
* an Organization, or&lt;br /&gt;
* a Place&lt;br /&gt;
&lt;br /&gt;
Whichever best describes the primary context.&lt;br /&gt;
&lt;br /&gt;
The slot is neutral and does not distinguish between actor or location.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
  ROM&lt;br /&gt;
  FLO&lt;br /&gt;
  ARCH&lt;br /&gt;
  CONG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Counter ====&lt;br /&gt;
&lt;br /&gt;
Sequential integer:&lt;br /&gt;
&lt;br /&gt;
* starts at 1&lt;br /&gt;
* unique within (chapter + context)&lt;br /&gt;
* zero padded&lt;br /&gt;
* automatically computed&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
  0001&lt;br /&gt;
  0002&lt;br /&gt;
  0003&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
  CH03-ROM-0015&lt;br /&gt;
&lt;br /&gt;
Means:&lt;br /&gt;
&lt;br /&gt;
* Chapter 03&lt;br /&gt;
* Context Rome&lt;br /&gt;
* 15th registered item in this group&lt;br /&gt;
&lt;br /&gt;
Nothing more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= DigitalAssets numbering =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Principle ==&lt;br /&gt;
&lt;br /&gt;
DigitalAssets are the primary numbered entities because they represent concrete research sources.&lt;br /&gt;
&lt;br /&gt;
Each DigitalAsset receives exactly one identifier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
The DigitalAssets table stores:&lt;br /&gt;
&lt;br /&gt;
* chapter_id&lt;br /&gt;
* context_code&lt;br /&gt;
* sequence_number&lt;br /&gt;
* identifier&lt;br /&gt;
&lt;br /&gt;
When creating a new record:&lt;br /&gt;
&lt;br /&gt;
# determine chapter&lt;br /&gt;
# determine context (organization or place)&lt;br /&gt;
# query MAX(sequence_number) for that pair&lt;br /&gt;
# next = max + 1&lt;br /&gt;
# compose identifier&lt;br /&gt;
# save identifier&lt;br /&gt;
&lt;br /&gt;
No counter table exists.&lt;br /&gt;
&lt;br /&gt;
The table itself acts as the counter history.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rationale ==&lt;br /&gt;
&lt;br /&gt;
This approach:&lt;br /&gt;
&lt;br /&gt;
* avoids locking or race conditions&lt;br /&gt;
* avoids separate counter tables&lt;br /&gt;
* is simple to understand&lt;br /&gt;
* works reliably with Cargo&lt;br /&gt;
* is easy to debug&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= File naming policy =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Core rule ==&lt;br /&gt;
&lt;br /&gt;
Files are storage only.&lt;br /&gt;
&lt;br /&gt;
Files must NEVER have independent numbering.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Naming rule ==&lt;br /&gt;
&lt;br /&gt;
The file name MUST reuse the DigitalAsset identifier.&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
&lt;br /&gt;
  identifier + extension&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
  CH03-ROM-0007.jpg&lt;br /&gt;
  CH03-ROM-0007.tif&lt;br /&gt;
  CH03-ROM-0007.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Why ==&lt;br /&gt;
&lt;br /&gt;
This guarantees:&lt;br /&gt;
&lt;br /&gt;
* one file ↔ one DigitalAsset&lt;br /&gt;
* immediate visual matching&lt;br /&gt;
* no duplicate numbering systems&lt;br /&gt;
* easier exports and backups&lt;br /&gt;
* long-term stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Derivatives ==&lt;br /&gt;
&lt;br /&gt;
Derived files reuse the same base identifier with suffixes.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
  CH03-ROM-0007_master.tif&lt;br /&gt;
  CH03-ROM-0007_web.jpg&lt;br /&gt;
  CH03-ROM-0007_ocr.pdf&lt;br /&gt;
&lt;br /&gt;
No new counters are created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Prohibited ==&lt;br /&gt;
&lt;br /&gt;
The following are not allowed:&lt;br /&gt;
&lt;br /&gt;
* independent file numbering&lt;br /&gt;
* MediaWiki auto-generated names&lt;br /&gt;
* timestamps&lt;br /&gt;
* random hashes&lt;br /&gt;
* renaming after upload&lt;br /&gt;
* separate file counters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= HeritageObjects numbering (optional) =&lt;br /&gt;
&lt;br /&gt;
HeritageObjects may optionally use the same scheme if sequential registration is useful.&lt;br /&gt;
&lt;br /&gt;
If used:&lt;br /&gt;
&lt;br /&gt;
* follow the same structure&lt;br /&gt;
* maintain separate counters&lt;br /&gt;
* never mix sequences with DigitalAssets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= What is NOT numbered =&lt;br /&gt;
&lt;br /&gt;
The following entities intentionally do not use numbering:&lt;br /&gt;
&lt;br /&gt;
* Persons&lt;br /&gt;
* Organizations&lt;br /&gt;
* Places&lt;br /&gt;
* Keywords&lt;br /&gt;
* lookup tables&lt;br /&gt;
&lt;br /&gt;
These are identified by names or codes only.&lt;br /&gt;
&lt;br /&gt;
Numbering would add complexity without benefit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Editorial workflow =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== DigitalAsset creation ==&lt;br /&gt;
&lt;br /&gt;
# create DigitalAsset page via form&lt;br /&gt;
# identifier generated automatically&lt;br /&gt;
# upload file using that exact name&lt;br /&gt;
# link file&lt;br /&gt;
&lt;br /&gt;
Never upload files first and rename later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Maintenance rule ==&lt;br /&gt;
&lt;br /&gt;
Identifiers are permanent.&lt;br /&gt;
&lt;br /&gt;
They must never be changed after creation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Design principles summary =&lt;br /&gt;
&lt;br /&gt;
The system prioritizes:&lt;br /&gt;
&lt;br /&gt;
* simplicity&lt;br /&gt;
* determinism&lt;br /&gt;
* automation&lt;br /&gt;
* long-term stability&lt;br /&gt;
* minimal dependencies&lt;br /&gt;
&lt;br /&gt;
Boring, predictable numbering is preferred over clever solutions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Official numbering and identifier policy – Version 1.0&lt;/div&gt;</summary>
		<author><name>Mngr</name></author>
	</entry>
</feed>