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.

The add-asset page

Oct 1, 2026
changed October 2026 Reconstructed from file notes

The first click into the JSON box selects everything in it, so a paste replaces the old text. A second click places the cursor as usual; dragging, typing or an empty box are left alone.

The add-name page

Oct 1, 2026
added Sep 20, 2026 Reconstructed from a work log

A researched name record can be adopted onto an existing name record instead of being added beside it, replacing the name, dates and source while keeping the ticker and the asset link. Every change any mode makes to an existing name record is now logged with its previous values, and nothing is saved if the log cannot be written.

Until this version no page could change the name text of a record. Adoption is meant for the many imported names that each new asset already has a record for.

The entity page

Oct 1, 2026
changed Sep 18, 2026 Reconstructed from a work log

"+ add asset" now appears on every entity, beside its asset count, not only on an entity with none. An issuer with several securities could only ever get its first one from this page.

The link is still withheld when the asset list could not be read, and the count then reads "unknown" instead of zero.

The asset history page

Oct 1, 2026
added Sep 16, 2026 Reconstructed from file notes

The asset history page can show a single window by its id, and whenever the view is narrowed to one asset it shows that asset's windows as one block of JSON with a Copy button, ready to paste on another copy of the site.

The exported asset id is deliberately 0, so an unedited paste is refused instead of filing the windows under the wrong asset on the receiving system. A closed window still marked primary is named before it is copied.

The add-name page

Oct 1, 2026

The add-entity page

Oct 1, 2026

The add-asset page

Oct 1, 2026
changed Sep 12, 2026 Reconstructed from a work log

When no exchange is chosen, the exchange code in the pasted JSON now picks it, if it matches exactly one known exchange. A chosen exchange still wins and is still checked against the code, an unknown code is still refused, and the preview asks for the venue to be confirmed.

The entity is still always chosen by hand, because a CIK can match more than one record or none.

changed Sep 12, 2026 Reconstructed from a work log

The JSON box on the add-asset page starts empty, with the sample as grey placeholder text, unless the page arrived with an entity already chosen, in which case the filled-in sample is kept.

The asset history page

Oct 1, 2026
fixed Sep 6, 2026 Reconstructed from a work log

Three corrections to the asset history checks: the identifier types offered now match the ones the database accepts; one asset may carry two different tickers at once, as a security listed on two exchanges does, while the same ticker still cannot overlap itself; and marking a closed window as primary is now refused before saving, since the database would refuse it anyway.

The entity page

Oct 1, 2026
added Sep 5, 2026 Reconstructed from file notes

An entity's notes can be corrected in place: a pencil opens the notes, and Save writes them without reloading the page. Notes are the only field that can be changed here, since they hold the record's sources.

The save goes through a new shared identity library, so the asset page can use the same rules. Saving unchanged notes writes nothing.

The asset page

Oct 1, 2026
changed Sep 5, 2026 Reconstructed from a work log

Editing an asset's notes now happens in place, without reloading the page, and the save uses the same shared code as the entity page, so both follow one set of rules.

The old bookmarkable address for opening the notes editor still works. The editor now needs JavaScript.

The shared identity library

Sep 5, 2026
added Sep 5, 2026 Reconstructed from a work log

A shared identity library with one job: saving a single field edited in place on the entity and asset pages. Only the notes fields are open to it; every other column is closed until there is a decision to open it, and the reason for each is written beside the list.

The list of editable tables and columns is fixed in the library, so a page cannot widen it. The save normalises line endings, writes nothing when the value is unchanged, and stamps the record's last-updated time.

The entity page

Oct 1, 2026
added September 2026 Reconstructed from file notes

The entity record has a JSON tab beside its fields: the record in the site's standard format, with a Copy button, ready to paste into the add page on another copy of the site. It carries no row id, so the receiving system assigns its own.

First shown as a separate card under the fields (1.6.0), then moved into a tab (1.6.1). If the notes are edited after the page loads, the JSON is withdrawn with a prompt to reload rather than offering stale text.

The asset page

Oct 1, 2026
fixed September 2026 Reconstructed from file notes

Each label window on the asset page links to that window's record, and the add or edit windows button now opens the history page filtered to this asset. It had sent a setting the history page never read, so it always opened the whole table.

added September 2026 Reconstructed from file notes

The asset record has a JSON tab beside its fields: the record in the site's standard format, with a Copy button, ready to paste into the add page on another copy of the site. Instead of internal ids it carries the entity's name and CIK and the exchange code, which the receiving page checks.

First shown as a card under the fields (1.10.0), then moved into a tab (1.10.2). A line above the JSON says when a record is missing something the add page requires. If the notes change after the page loads, the JSON is withdrawn with a prompt to reload.

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.