ESPN NFL  |  NBA  |  MLB  |  NHL  |  Soccer  |  Tennis  |  Golf  |  MMA  |  College Football Wednesday, April 9, 2026
SCOREBOARDNEWSSTANDINGSSCHEDULETEAMSSTATS
NBA • FINAL
Boston Celtics112
Miami Heat104
NBA • FINAL
Golden State Warriors119
LA Lakers108
MLB • FINAL
New York Yankees6
Boston Red Sox3
MLB • FINAL
Houston Astros4
Texas Rangers2
NHL • FINAL
Florida Panthers3
Tampa Bay Lightning2
NBA • 8:00 PM ET
Milwaukee Bucks
Denver Nuggets
⚽ TOP STORY
NBA

Celtics advance to Eastern Conference Finals after dominant Game 5 performance

Jayson Tatum led all scorers with 32 points as Boston clinched the series 4-1

⚾ MLB RECAP
MLB

Yankees ace delivers 8-inning shutout in must-win Game 4 against Red Sox

Gerrit Cole struck out 11 batters to keep New York's season alive

🏈 NFL DRAFT
NFL

2026 NFL Draft: Top 10 picks and biggest surprises from Round 1

Three quarterbacks taken in the first five picks as teams reload for 2026 season

Top Headlines

🏈

Warriors stun Lakers in overtime thriller to take 3-2 series lead

NBA • 2 hours ago

Lionel Messi scores twice in MLS Cup rematch to lift Inter Miami

Soccer • 3 hours ago
🎸

Panthers clinch playoff berth with overtime winner against Lightning

NHL • 5 hours ago
🏑

Rory McIlroy fires record-tying 63 at Augusta to lead Masters by two strokes

Golf • 6 hours ago
🏉

Jon Jones announces comeback fight for October pay-per-view card

MMA • 8 hours ago
Click anywhere to return  •  Press Esc to dismiss
Tag Studio Menu
V2 control deck plus live owner panes for registry, rankings, listings mappings, and domain owners.
Choose the default shared shell or add the pane jump surface.
Nav mode
Tag Studio V2 Draft

Metadata control plane for registry, scraper, and Listings

This draft keeps every live Tag Studio owner surface intact while adding a stronger overview deck, a direct domain JSON workbench, and a clearer metadata flow model for product configuration.

Tags
--
Canonical registry tags available to every downstream consumer.
Groups
--
Reusable bundles that drive rankings, semantics, and display logic.
Domains
--
Configured families and scoped domains used by Tag Studio and scraper flows.
Ranking Rules
--
Canonical ranking rules currently published in the live config domain.
Listings Table Display
--
Canonical display rows actively shaping the Magnetar Console Listings table.

Registry Guide

Domains

Domains answer where does this tag live. A top-level domain like rankings stands on its own. A dotted domain like locations.city or blocklists.url_path_exclude_patterns uses the text before the dot as the domain family and the text after the dot as the narrower slice inside that family. Tags can belong to multiple domains.

Groups

Groups answer what named bundle is this tag part of. A group is a reusable named set of tags, and it may also contain other groups. Tags can belong to multiple groups. Rankings like 5.0-ST and 5.0-MAS are groups with ranking meaning.

Tags Registry
Tag Registry domain edits validate against the live Domain Registry before Save Changes.
Clean
Rows: 0 | Visible: 0 | Selected: 0 | Dirty: 0
TermEnabledDomain FamilyDomain Sub-familyDomainsGroupsActions
No registry rows loaded
Groups
Auto Groups
Derived from Tag Registry Domains. Auto-added when a domain has more than one live tag entry.
Loading auto groups derived from Tag Registry Domains...
Clean
Rows: 0 | Visible: 0 | Selected: 0 | Dirty: 0
NameExclusionRank tierRank dirNotesMembersActions
No registry rows loaded
Rankings

Manage canonical filter rules for Rankings + Flagged behaviors using deterministic include/exclude logic. This surface owns the rankings domain directly and now authors include/exclude rules from live Tag Registry selector rows while preserving the same canonical term payload that current Listings and scraper consumers already use. Listings and extractor consumers read this canonical ruleset instead of a shadow mirror.

Shared version history Governance view for the canonical rankings Tag Config domain.
Loading rankings...
Actions
Loading rankings...
History
History not loaded yet.
Add Ranking Rule
Primary form-first editor. Filter by Tag Registry domain, then add live Tag Registry terms here; the saved ranking still writes the same canonical term list into rankings.tag_groups[].filters.
Advanced term paste (secondary)
Paste comma or newline separated required tags only when you need bulk recovery or import. Use the button below to push pasted text back into the primary selector rows.
Primary form-first editor. Filter by Tag Registry domain, then add live Tag Registry terms here; any matching tag still writes into canonical rankings.tag_groups[].not_filters.
Advanced term paste (secondary)
Paste comma or newline separated blocked tags only for bulk recovery or import. Use the button below to push pasted text back into the primary selector rows.
Loading live Tag Registry selector catalog...
Rule Preview
No rule conditions defined
Domain Family + Sub-family Source of Truth

Domain Registry

Source-of-truth owner surface for canonical Domain Family and Domain Sub-family rows. Tags then consume these values through the Domain dropdowns in the Tag editor.

Waiting for domain source data...

Live Domain Dependency Wireframe

Click any family or sub-family row to inspect what that domain provides and which surfaces consume it. Use Edit Family + Consumers or Edit Sub-family + Consumers to change the selectable consumer dropdown.

Select a domain row to inspect the live flow.
Select a domain row to inspect the live flow.

Domain Families

Controls family-level naming and metadata (owner/consumers/description).

Domain Sub-families

Controls dotted child rows (for example locations.city) consumed by Tag dropdowns.

Listings Structure

Configure the Listings-only structure that sits beside Rankings. Use the Rankings surface above for rule ownership. The retired sidebar-group config is no longer part of the live owner contract. This surface now owns only attribute_display_map. The live Listings contract below is read-only and exists so Tag Studio shows the real effective column/domain wiring instead of a misleading empty owner surface.

Live Listings Contract

Read-only transparency surface showing how Listings currently resolves effective table columns and which canonical domain owner inputs still drive runtime behavior such as rankings, services, locations, and blocklists.

Loading live Listings contract...

Live Column ↔ Metadata Matrix

Left side is the visible Listings or Rankings-facing column. Right side is the live Scraper, Tag Registry, or People Manager metadata owner that currently feeds it. Examples: Posted maps to Scraper ScanDate/Time (with legacy post_date fallback) and x.Services maps to Tag Registry services.x_services. This card refreshes when canonical domain owner config changes.

Effective Listings Columns

Current live column contract after registry-backed column rows and canonical Listings Table Display entries are applied.

Listings Domain Owner Inputs

Domain owner inputs are canonical domains that still shape Listings runtime behavior, filters, tagging, flagging, or labels even when they are not direct table columns. The map below shows the concrete components that use each domain.

Listings Table Display (attribute_display_map)

Maps extracted attribute fields into Magnetar Console > Listings table columns, labels, positions, and formats. This is the display contract for the Listings page, not the scraper queue.

Used by
Magnetar Console > Listings table columnsListings Column Map transparencyNormalization Schema preview + launch path
Shared version history Governance view for scraper.attribute_display_map.
Draft Mapping Row
Primary form-first add path for Listings Table Display. Existing rows remain inline editable below, and save is blocked when field paths are blank or duplicated.
Extracted fieldDisplay labelPositionFormatGridTable
0 mapping row(s)
Loading Listings Table Display mappings...
Tag Studio Domain Owner Surfaces
Listings publication map

Post Normalization -> Domain Keyword Match -> Listings Publish

The scraper extracts all post data first. A domain-scoped Tag Registry keyword/tag match then classifies the post and publishes the matched domain output into the selected Listings column. Every baseline Listings column is represented below.

Listings columnScraper extracted post fieldTag Registry domainMatch / inclusion tagPublish to Listings columnStatus
Loading persisted mappings...
12-family transition map

Tag Studio Domain Ownership Matrix

Tag Registry is the target owner path for every Scrape Admin family. The SMTS story packet is already complete; the matrix below now shows current runtime owner state only: which families are finalized in Tag Studio, which are still adapter-backed today, and which remain compatibility residue.

FamilyCanonical owner todayTarget registry domainStatusMigration note
Blocklists / Negation / FlagsTag Registry `blocklists`blocklistsFinalized in Tag StudioFinalized: canonical blocklists, negation, and flags now live in Tag Studio; keep Scrape Admin as a consumer or launcher only.
Ranking / Classification KeywordsTag Registry `rankings`rankingsFinalized in Tag StudioFinalized: the live Tag Studio rankings surface is already the canonical editor for classification keywords and ranking semantics.
Services / XServices / TransportTag Registry `services`servicesFinalized in Tag StudioFinalized: canonical services, x-services, and transport vocabularies are already registry-backed in Tag Studio today.
Locations / Towns / AliasesTag Registry `locations`locationsFinalized in Tag StudioLive location vocabulary editing already belongs to Tag Studio.
Quick FiltersTag Registry `quick_filters`quick_filtersFinalized in Tag StudioListings capture remains consumer-side only; canonical saved presets already live in Tag Studio.
Price TypesTag Registry `price_types`price_typesFinalized in Tag StudioRegistry-backed price taxonomy is already the live owner path.
Social FiltersTag Registry `social_filter`social_filterFinalized in Tag StudioCanonical social filter storage and the Tag Studio owner/editor surface are now landed; the older IA split is retired.
Sites RegistryScraperConfigStore['sites']scraper.sitesAdapter-backed todayCanonical registry document plus the SMTS-6 sites bridge are already landed; runtime still flows through a compatibility adapter today.
Site Scan ArgumentsScanRuntimeStore['scan_args'] legacy aliasscraper.scan_argsAdapter-backed todayCanonical owner surface is now named site_scan_args; legacy scan_args storage and routes remain as compatibility aliases during runtime adapter cutover.
Scan PipelineScanRuntimeStore['scan_pipeline']scraper.scan_pipelineAdapter-backed todayCanonical registry storage, validation, and the Tag Studio owner/editor surface are now landed; current runtime still reads the adapter-backed contract today.
Date RangesScanRuntimeStore['date_ranges']scraper.date_rangesAdapter-backed todayCanonical registry storage, validation, and the Tag Studio owner/editor surface are now landed; the runtime store is still the compatibility-facing owner path today.
Runtime Toggle FlagsScanRuntimeStore['filter_toggles']scraper.filter_togglesAdapter-backed todayCanonical registry storage, validation, and the Tag Studio owner/editor surface are now landed; runtime still reads the adapter-backed path today.

Listings Table Views (quick_filters)

Owns the shared saved-view presets for the Magnetar Console Listings table. Capture a fresh current-state snapshot from magnetar-console.html#listings, then manage labels, ordering, duplication, enablement, and advanced JSON here in Tag Studio. This does not control the scraper queue or extract grid.

__TV_USAGE__
Version --
Shared version history Governance view for the canonical quick_filters Tag Config domain.
Use Listings to capture the current live table state into a new canonical Listings Table View, then return here to reorganize and edit the saved payloads. The Listings page remains the capture surface; Tag Studio is the owner for management.
View Rules Actions
Loading Listings Table Views...
History
History not loaded yet.
Edit Listings Table View
Create or select a Listings Table View to edit.
Structured editor
Primary UI-only editor. These inputs write the canonical per-view JSON for you; Domain Registry, Tag Registry, Groups Registry, and Filter Registry selectors stay live here while advanced JSON remains secondary.
Only used when this saved view opens in Card View.
Columns
Primary row-first editor for ordered Listings column keys. Leave it empty to keep the standard Listings column set.
Paste / Import Columns (secondary)
Paste comma or newline separated column keys only when you need bulk recovery/import. Use the button below to push them back into the structured row list.
Group By
Primary row-first editor for ordered grouping keys. Leave it empty when the saved view should not group rows.
Paste / Import Group By (secondary)
Paste comma or newline separated grouping fields only when you need bulk recovery/import. Use the button below to push them back into the structured row list.
Tag Studio (include)
Canonical Tag Studio include rules. Each selector row hydrates from Domain Registry, Tag Registry, Groups Registry, and Filter Registry while showing live Listings row counts where available.
Tag Studio (exclude)
Canonical Tag Studio exclude rules. These selectors stay mapped to the same live owner lanes and write canonical per-family exclusions back into the shared view JSON.
Advanced JSON (secondary)
Use this only for unsupported keys or exact payload edits. If you change supported fields here, load the JSON back into the structured editor before applying.
The structured fields above rewrite the matching keys (`id`, `label`, `order`, `enabled`, `view`, `cardSize`, `columns`, `groupBy`, `include`, `exclude`) when you apply the form.
This editor is the primary Listings Table Views control surface. Raw JSON remains available as an advanced fallback, but normal view editing should happen through the structured fields above.
Open Listings Capture
Loading current Listings Table Views...

Locations (locations)

Canonical city aliases, neighborhood hints, and location vocabularies used to normalize Listings location fields.

Used by
Listings location tree filtersCity/state normalizationLocation-aware tags
Version --

Locations Structured Editor

Primary form-first CRUD surface for canonical city_aliases and locations. Use this editor for routine alias and location-row maintenance; advanced JSON remains a secondary fallback for bulk review or recovery.

City Aliases0 aliases

Each alias row maps a canonical city slug to one human-entered variation used during location normalization.

Locations Rows0 location rows

These rows drive city, town, community, and local/non-local normalization for Listings and downstream filters.

CommunityTownCityLocalAction
Loading location rows...
Loading structured Locations editor...
Advanced JSON (secondary)

Use raw JSON for bulk import/export or emergency review only. The structured Locations editor above is the primary editing surface.

Not loaded yet.
History
History not loaded yet.

Blocklists (blocklists)

Canonical blocked and flagged vocabularies used to suppress or flag listings before they reach operators.

Used by
Flagged column + block filtersAlways-exclude suppressionBoundary-term safety rails
Version --

Blocklists Structured Editor

Primary form-first CRUD surface for canonical always_exclude and url_path_exclude_patterns. End-state naming here follows the Domain Family/Sub-family contract: blocklists is the family and url_path_exclude_patterns is the sub-family path. This editor is dynamic, not static seed data: add/remove/save writes the canonical owner document in Tag Config with version history and rollback.

Always Exclude0 terms

Listings matching any of these terms are suppressed before they reach operators.

URL Path Exclude Patterns0 patterns

Domain path: blocklists.url_path_exclude_patterns · Family: blocklists · Sub-family: url_path_exclude_patterns.

Use wildcard patterns against the normalized host/path, such as tryst.com/cam*. Matching URLs are hard-skipped before drill, retag cleanup, and direct-detail entry. Defaults only seed empty stores; ongoing adds/removes here are canonical CRUD for Admin/User editing.

Loading structured Blocklists editor...
Advanced JSON (secondary)

Use raw JSON for bulk import/export or emergency review only. The structured Blocklists lists above are the primary editing surface.

Not loaded yet.
History
History not loaded yet.

Services (services)

Canonical service vocabularies and x-service exclusions used to normalize service text into consistent listing tags and filters.

Used by
Listings Services filterListings XServices filterRuntime service-tag matching
Version --

Services Mapping and Tag Registry Selectors

The scraper extracts the full post payload, then domain-scoped Tag Registry tags act as match/inclusion keywords. Selected tags are persisted into the Services domain compatibility arrays so Listings can keep publishing the matched output into x.Services.

Listings <-> Registry <-> Scraper Mapping

Services matching is column-driven: the scraper extracts all post data, Tag Registry domain tags provide the match/inclusion keywords, and matched Services output is published back into Listings x.Services.

Field-driven map; JSON is secondary.
FlowListings columnRegistry fieldScraper/source fieldsPattern dependencyEditable action
Listings -> Registryx.Servicesservices.x_serviceslisting.services, title, description, source textPositive patterns depend on the Listings table column for the Services domain.Select inclusion tags from Tag Registry below.
Registry -> Scraperx.Servicesservices.x_services + services.x_services_excludescraper classification keywords and service-match runtimeRegistry terms feed scraper matching; exclusion terms suppress false positives.Choose match/exclusion tags from the selected registry domain.
Scraper -> Listingsx.Servicesservices.x_servicesmatched_keywords, star_tags, canonical listing rowsScraper output is normalized back to the same Listings column contract.Retag or rescan after saved term changes when runtime data must refresh.
Exclusions -> Listingsx.Servicesservices.x_services_excludelisting/search text and classification evidenceEach exclusion pattern is column-scoped to Services and prevents misleading column output.Select exclusion tags from Tag Registry below.
x.Services inclusion tags0 tags

Choose a Tag Registry domain and tag. That tag becomes an inclusion keyword for the Listings x.Services column.

x.Services exclusion tags0 tags

Choose a Tag Registry domain and tag. That tag suppresses false positive service matches when present.

Loading Tag Registry selector state...
Advanced JSON (secondary)

Use raw JSON for bulk import/export or emergency review only. The mapping table and Tag Registry selector fields above are the primary Services editing surface.

Not loaded yet.
History
History not loaded yet.

Social Filter (social_filter)

Canonical social-platform tag rows used to keep social-site recognition consistent across Listings, scraper review, and downstream operator filters.

Used by
Social-platform recognitionListings social diagnosticsOperator review toggles
Version --

Social Filter Structured Editor

Primary form-first CRUD surface for canonical social_filter. Use this table for routine social-platform key, label, and enabled-state maintenance; advanced JSON remains a secondary fallback for bulk review or recovery.

KeyLabelEnabledAction
Loading social filter rows...
0 rows Structured editor is primary; advanced JSON is secondary.
Loading structured Social Filter editor...
Advanced JSON (secondary)

Use raw JSON for bulk import/export or emergency review only. The structured table above is the primary Social Filter editing surface.

Not loaded yet.
History
History not loaded yet.

Sites Registry (scraper.sites)

Canonical scraper-site rows used to keep site URLs, crawl types, delay settings, enablement, and lightweight metadata aligned between Tag Studio and the runtime compatibility bridge.

Used by
Scraper runtime site catalogPer-site crawl delay and max-page defaultsCompatibility bridge for scanner/listings tooling
Version --

Sites Registry Structured Editor

Primary form-first CRUD surface for canonical scraper.sites. Use this table for routine site URL, type, enablement, delay, and notes maintenance; advanced JSON remains a secondary fallback for optional metadata such as login URLs, logos, or extraction-pattern overrides.

DomainNameURLTypeDelay (s)Max pagesEnabledTagsNotesAction
Loading scraper sites...
0 sites Structured editor is primary; advanced JSON is secondary.
Loading structured Scraper Sites editor...
Advanced JSON (secondary)

Use raw JSON for bulk import/export, optional metadata, or emergency review only. The structured table above is the primary Scraper Sites editing surface.

Not loaded yet.
History
History not loaded yet.

Site Scan Arguments (scraper.scan_args)

Canonical launch-time scraper instructions used to answer what scan should run: selected sites, max pages, drill or fast mode, unattended mode, scan mode, preset, and extra flags.

Used by
Scraper runtime launch instructionsListings and scrape operator presetsCompatibility bridge for scan-runtime settings
Version --

Site Scan Arguments Structured Editor

Primary form-first CRUD surface for canonical site_scan_args. These are launch-time instructions for the scraper run: selected sites, max pages, drill on/off, unattended mode, scan mode, preset, and extra flags. Advanced JSON remains a secondary fallback for bulk review or recovery.

1 document Structured editor is primary; advanced JSON is secondary.
Loading structured Site Scan Arguments editor...
Advanced JSON (secondary)

Use raw JSON for bulk import/export or emergency review only. The structured form above is the primary Site Scan Arguments editing surface.

Not loaded yet.
History
History not loaded yet.

Scan Pipeline (scraper.scan_pipeline)

Canonical runtime pipeline stages used to keep stage ordering, action semantics, enablement, apply-to targets, and failure handling aligned between Tag Studio and the scan-runtime compatibility seam.

Used by
Scraper runtime stage orderingListings Pipeline diagnosticsScraper Admin Pipeline handoff
Version --

Scan Pipeline Structured Editor

Primary form-first CRUD surface for canonical scan_pipeline. Use this table for routine stage ordering, action, enablement, apply-to, and failure-policy maintenance; advanced JSON remains a secondary fallback for bulk review or recovery. Steps are normalized to a contiguous 1-x sequence.

StepStageActionEnabledApply ToOn FailureAction
Loading scan pipeline...
0 stages Structured editor is primary; advanced JSON is secondary.
Loading structured Scan Pipeline editor...
Advanced JSON (secondary)

Use raw JSON for bulk import/export or emergency review only. The structured table above is the primary Scan Pipeline editing surface.

Not loaded yet.
History
History not loaded yet.

Runtime Toggle Flags (scraper.filter_toggles)

Canonical runtime filter-gate booleans used to turn key scraper/listings classifier paths on or off without hand-editing raw compatibility settings.

Used by
Listings Normalization admin visibilityScraper runtime filter gatingOperator diagnostics and remediation
Version --

Runtime Toggle Flags Structured Editor

Primary form-first CRUD surface for canonical filter_toggles. Use this matrix to enable or disable runtime filter gates; advanced JSON remains a secondary fallback for bulk review or recovery.

Runtime keyEnabledOperator note
Loading runtime toggle flags...
0 toggles Structured editor is primary; advanced JSON is secondary.
Loading structured Runtime Toggle Flags editor...
Advanced JSON (secondary)

Use raw JSON for bulk import/export or emergency review only. The structured toggle matrix above is the primary editing surface.

Not loaded yet.
History
History not loaded yet.

Date Ranges (scraper.date_ranges)

Canonical operator-facing scrape age windows used by scan and review workflows to keep recent/freshness filters consistent across runtime, Listings, and downstream tooling.

Used by
Scrape recency presetsListings freshness controlsOperator scan-window diagnostics
Version --

Date Ranges Structured Editor

Primary form-first CRUD surface for canonical date_ranges. Use this table for routine scrape-window label and minutes maintenance; advanced JSON remains a secondary fallback for bulk review or recovery.

LabelMinutesAction
Loading date ranges...
0 ranges Structured editor is primary; advanced JSON is secondary.
Loading structured Date Ranges editor...
Advanced JSON (secondary)

Use raw JSON for bulk import/export or emergency review only. The structured table above is the primary Date Ranges editing surface.

Not loaded yet.
History
History not loaded yet.

Price Types (price_types)

Canonical price-type names used to label and sort pricing semantics in Listings.

Used by
Listings price labelsPrice filter metadataPricing display semantics
Version --

Price Types Structured Editor

Primary form-first CRUD surface for canonical price_types. Use this table for routine add/edit/delete work; advanced JSON stays available as a secondary fallback for bulk review or recovery.

CodeLabelMinutesAction
Loading price types...
0 rows Structured editor is primary; advanced JSON is secondary.
Advanced JSON (secondary)

Use raw JSON for bulk import/export or emergency review only. The structured table above is the primary Price Types editing surface.

Not loaded yet.
History
History not loaded yet.