Development changelog

What has changed on this site, in its database and in the scripts behind it, newest first. Older history is being filled in as it is reconstructed, and each entry says whether it was recorded at the time or rebuilt later.

Showing entries for topic identity pages. Show everything

The asset page

Oct 1, 2026
added Aug 23, 2026 Reconstructed from a work log

The asset page lists the asset's label windows: which ticker or other identifier it carried between which dates, which one is primary, and where each came from. These windows decide whether ledger rows can be matched to the asset.

The add-name page

Oct 1, 2026
added Aug 23, 2026 Reconstructed from a work log

An edit mode fills in the empty fields of an existing name record, its dates and source, and changes nothing that already holds a value. Fields with a value are shown locked.

The asset page

Oct 1, 2026
added Aug 22, 2026 Reconstructed from a work log

The asset page lists every name the asset has carried, oldest first, and checks where one name ends and the next begins, marking each join as ok, a gap, an overlap or unknown. Unlinked name records that mention one of the asset's tickers are listed as a worklist, each with a link to review and link it.

The check reports and never changes a date. The worklist is a prompt for a person to decide, not a claim that those names belong to this asset.

The add-name page

Oct 1, 2026
fixed Aug 20, 2026 Reconstructed from a work log

Pasting JSON on the add-name page no longer throws away an asset that was already chosen. The paste form had not carried the asset choice with it, so the record reverted to unlinked.

added Aug 20, 2026 Reconstructed from a work log

A name record can be pasted as JSON, which fills in the form for checking rather than saving directly. The JSON never sets the asset; it can state the ticker and entity CIK it expects, and a mismatch with the chosen asset is refused.

The identity search page

Oct 1, 2026
added Aug 19, 2026 Reconstructed from a work log

When an asset has no name but unlinked name records with its exact symbol exist, its row offers "choose name (N)" first, with adding a new name second, so the existing record gets linked instead of a duplicate being created. An unlinked name row also gets a "link" action.

The count is an exact symbol match on purpose; looser matches belong to the link page's own search. The search page still writes nothing: the linking happens on a separate page with its own preview and confirm.

The add-name page

Oct 1, 2026
added Aug 19, 2026 Reconstructed from a work log

A link mode attaches an existing unlinked name record to its asset, so the record is kept rather than duplicated. It checks for clashes the link would create, and re-pointing a record already linked to another asset needs a separate acknowledgment.

The add-entity page

Oct 1, 2026
added Aug 19, 2026 Reconstructed from a work log

An entity can be entered as form fields or pasted as JSON. Both tabs feed the same checks, the same preview and the same single save, and the tabs keep each other up to date. Unknown keys in the JSON are refused by name, and only one entity is accepted per paste.

Confirm saves what the preview showed, never the JSON text again.

The add-asset page

Oct 1, 2026
added Aug 19, 2026 Reconstructed from a work log

An asset can be entered as form fields or pasted as JSON, but the entity and exchange are always chosen from the lists, never taken from the JSON. Instead the JSON can state the entity's name or CIK and the exchange code it expects, and the preview refuses a choice that does not match.

Internal row ids mean nothing outside one database, and a wrong one would save quietly under the wrong issuer; a stated name or code is checked instead.

The identity search page

Oct 1, 2026
added Aug 13, 2026 Reconstructed from a work log

A third panel lists every matching name record, current or replaced, and says whether each is linked to an asset or still unlinked. A name that the asset panel cannot find is now visible here, with the reason.

The panel reads the name records themselves rather than the current-name lookup, so replaced names and names with no asset yet are findable. The two dates on a name, when it took effect and when it was last seen in use, are shown side by side.

The entity page

Oct 1, 2026
added August 2026 Reconstructed from file notes

An entity with no assets yet offers "+ add asset", which opens the add-asset page with this entity already chosen.

The link shipped in 1.3.0; the add-asset page learned to read it in its own next version, and 1.3.1 records that.

The asset history page

Oct 1, 2026
changed August 2026 Reconstructed from file notes

The JSON entry tab on the asset history page now spells out its format: every key, which are required, the limits, both lists of allowed values and a second worked example. The value lists are printed from the same lists the validator checks.

Help text only; no change to what is accepted.

added August 2026 Reconstructed from file notes

A page for asset history, the label windows that say which ticker or other identifier each asset carried between which dates. It lists every window with filters and an integrity summary, and adds windows, or renames a label by closing one window and opening the next, through a form or pasted JSON with a preview before anything is saved.

A rename is one transaction. The integrity summary is counted across the whole table, never just the filtered view.

The add-asset page

Oct 1, 2026
fixed August 2026 Reconstructed from file notes

Arriving from an entity's "+ add asset" link now opens the form with that entity already chosen, and the JSON sample already names it. The link's setting had been ignored, so the form opened blank; an id that matches no entity now shows a warning.

The identity search page

Oct 1, 2026
fixed Jul 28, 2026 Reconstructed from a work log

Each asset in the results now shows its own name. Names had been looked up by ticker, so two assets that shared a ticker showed the same name, and one asset could borrow the name of an unrelated fund that used the same letters.

The "+ add name" link now carries the asset as well as the symbol, so the name it creates belongs to that asset. Until a name is linked to its asset, a search by that name finds no asset row; the next version made those names visible.

The entity page

Oct 1, 2026
fixed Jul 28, 2026 Reconstructed from a work log

The list of an entity's assets now shows each asset's own name. Two assets that shared a ticker had been listed side by side with the same name. If the list cannot be read, the page now says so instead of reporting that the entity has no assets.

A blank name in the list offers "+ add name", opened for that asset.

The asset page

Oct 1, 2026
fixed Jul 28, 2026 Reconstructed from a work log

The asset page now shows the asset's own name. Names had been looked up by ticker, so an old delisted company showed the name of the newer company that reused its ticker. A blank name now offers "+ add name" for this asset.

security Jul 28, 2026 Reconstructed from a work log

An older shared-key check on adding stories and editing notes was retired. The page now relies on the site's sign-in and permissions, which cover viewing it as well as writing, and it refuses to load if the sign-in system is not running.

The add-name page

Oct 1, 2026
fixed Jul 28, 2026 Reconstructed from a work log

Arriving from a blank name on the search or asset page now opens the form with that asset already chosen, and each asset in the picker shows its entity's name and CIK. The asset had been dropped, so the new name was saved unlinked and the blank stayed blank.

security Jul 28, 2026 Reconstructed from a work log

An older shared-key check on the add-name page was retired. The page now relies on the site's sign-in and permissions, which cover viewing it as well as saving, and it refuses to load if the sign-in system is not running.

The add-entity page

Oct 1, 2026
security Jul 28, 2026 Reconstructed from a work log

An older shared-key check on the add-entity page was retired. The page now relies on the site's sign-in and permissions, which cover viewing the form as well as saving, and it refuses to load if the sign-in system is not running.

The add-asset page

Oct 1, 2026
security Jul 28, 2026 Reconstructed from a work log

An older shared-key check on the add-asset page was retired. The page now relies on the site's sign-in and permissions, checked before the page reads anything, and it refuses to load if the sign-in system is not running.

The asset page

Oct 1, 2026

The add-name page

Oct 1, 2026
changed Jul 14, 2026 Reconstructed from file notes

A new name can now be tied to a specific asset, picked from the assets using that ticker, or left unlinked on purpose. Clashes are graded into blocking, advisory and context, and the form stays live, offering Confirm only once the save is allowed and any advisory is acknowledged for that exact record.

An acknowledgment goes stale if the advisories change between checking and confirming.

The identity search page

Oct 1, 2026
changed Jul 10, 2026 Reconstructed from file notes

Two columns help tell look-alike records apart: the asset panel shows the entity each asset belongs to, linked to it, and the entity panel shows each entity's SEC CIK number. Two assets that shared a ticker had looked identical.

The entity column came first (1.0.3), the CIK column second (1.0.5). The CIK is shown, not searched, so a short number does not match every CIK that contains it.

added Jul 10, 2026 Reconstructed from file notes

The search page links to the pages that add an entity, an asset or a name: an action bar under the search box, a link inside each empty panel, and a "+ add name" link in any asset row whose name is blank, opened with that symbol filled in.

Built over two versions the same day: the entity and asset links first (1.0.2), then the name link and the blank-cell shortcut (1.0.4).

changed Jul 10, 2026 Reconstructed from file notes

A whole-number search term is also matched exactly against each record's id, and an id match is listed first.

added Jul 10, 2026 Reconstructed from file notes

A master data search page: one box searches the asset and entity tables by symbol and name, as a contains match that ignores case, and lists the results in two panels. It only reads; nothing on it writes.

The entity page

Oct 1, 2026
added Jul 10, 2026 Reconstructed from file notes

An entity record page: one company or issuer with all of its fields, every asset that belongs to it, links out to SEC EDGAR and GLEIF to check its identifiers, and counts of related records.

The asset page

Oct 1, 2026
added Jul 10, 2026 Reconstructed from file notes

The asset page shows the asset's stories, newest first, and has a form to add one: a dated event with a title, body and tags, entered as fields or as JSON, previewed and then saved.

A follow-up the next day (1.1.1) keeps the page scrolled to the stories section while the form is open, previewed or re-shown.

added Jul 10, 2026 Reconstructed from file notes

An asset record page: one security with all of its fields, its entity and exchange shown by name, its status, and counts of related records such as prices and ledger rows.

The add-name page

Oct 1, 2026
added Jul 10, 2026 Reconstructed from file notes

A page for adding an asset name: the name a ticker carried from a given date, with the names already on file for that ticker shown alongside and a clash with an existing record blocked.

The add-entity page

Oct 1, 2026
added Jul 10, 2026 Reconstructed from file notes

A page for adding an entity by hand: a form, a preview, then a confirm that writes one record. It pads a CIK to ten digits, checks an LEI's format, limits the entity type to the allowed list, and warns about possible duplicates by name, CIK or LEI.

The add-asset page

Oct 1, 2026
added Jul 10, 2026 Reconstructed from file notes

A page for adding an asset by hand: a form, a preview, then a confirm that writes one record. The entity and exchange are required and chosen from lists of existing records, the class, role and status come from the allowed lists, and a symbol already in use triggers a warning.

The identity search page

Oct 1, 2026
changed July 2026 Reconstructed from file notes

The search page moved into the site's admin tools area, where access is checked by role, and now uses the site's shared page header, footer and navigation. Every link on it was updated to the new addresses, and search engines are told not to index it.

The entity page

Oct 1, 2026
changed July 2026 Reconstructed from file notes

The entity page moved into the site's admin tools area, where access is checked by role, and now uses the site's shared page header, footer and navigation. Its links were updated to the new addresses, and search engines are told not to index it.

The asset page

Oct 1, 2026
changed July 2026 Reconstructed from file notes

The asset page moved into the site's admin tools area, where access is checked by role, and now uses the site's shared page header, footer and navigation. Every link and form on it, including the ones that save notes and stories, was updated to the new address.

The add-name page

Oct 1, 2026

The add-entity page

Oct 1, 2026
changed July 2026 Reconstructed from file notes

The add-entity page moved into the site's admin tools area, where access is checked by role, and now uses the site's shared page header, footer and navigation.

Its forms post back to their own address, so the move needed no change to the write path.

The add-asset page

Oct 1, 2026