configuration/lexicon/data/concern.refusal.data.json
configuration/lexicon/data/concern.refusal.data.json is a file in GovLab Context. 446 lines of code and 0 definitions.
{
"category": "refused-tags",
"exampleShape": "renamed-file",
"enforcedBy": ["the naming gate, which refuses the word in the concern slot because no declaration admits it"],
"check": {
"population": "every filename that would carry the refused word, and the covering tags each refusal names",
"freshness": "a verdict stands until a covering tag is renamed or removed, or the refused word is admitted by an approved edit",
"refusal": "the lint run fails a filename carrying the refused word as its concern",
"observation": "each refused word resolved through its covering-tag edges, which the resolution gate follows",
"evidence": "fires-and-accepts: a suite lints a file whose concern slot holds an undeclared word and passes a file carrying a declared tag",
"authority": "the covering tags, which a refused word resolves to, so admitting the word is an approved edit to the vocabulary"
},
"records": [
{
"name": "Spawner or Prefab as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file spawner or prefab, where the factory tag already covers a file that constructs instances.",
"exemplar": {
"before": "spawners/enemy.spawner.ts",
"after": "factories/enemy.factory.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["factory-tag"]
},
{
"name": "Blueprint or Archetype as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file blueprint or archetype, where the specification tag covers a file that declares a rule and the template tag covers one that declares a shape.",
"exemplar": {
"before": "archetypes/enemy.archetype.ts",
"after": "templates/enemy.template.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"specification-tag",
"template-tag"
]
},
{
"name": "Loop or Tick as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a simulation's main loop or its tick as its own concern, where the engine tag covers the file that runs the loop and the step tag covers one advance.",
"exemplar": {
"before": "ticks/physics.tick.ts",
"after": "steps/physics.step.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"engine-tag",
"step-tag"
]
},
{
"name": "Batcher as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file batcher, where the batching tag already covers a file that groups small operations into larger ones.",
"exemplar": {
"before": "batchers/draw-call.batcher.ts",
"after": "batching/draw-call.batching.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["batching-tag"]
},
{
"name": "Spatial Index as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a spatial hash or a quadtree as a domain concern, where a lookup structure over known members takes the registry tag.",
"exemplar": {
"before": "quadtrees/enemy.quadtree.ts",
"after": "registries/enemy.registry.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["registry-tag"]
},
{
"name": "Keybinding as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file keybinding or control-scheme, where the binding tag already covers a file that ties a name to what it resolves to.",
"exemplar": {
"before": "keybindings/editor.keybinding.ts",
"after": "bindings/editor.binding.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["binding-tag"]
},
{
"name": "Control Widget as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a slider or a toggle control by its kind of control, where the widget tag covers every interactive control.",
"exemplar": {
"before": "sliders/brightness.slider.ts",
"after": "widgets/brightness.widget.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["widget-tag"]
},
{
"name": "Condition as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file condition or phase-condition, where the predicate tag already covers a file that answers yes or no.",
"exemplar": {
"before": "conditions/boss-phase.condition.ts",
"after": "predicates/boss-phase.predicate.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["predicate-tag"]
},
{
"name": "Strategy as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file strategy or difficulty-policy, where the policy tag already covers a file that chooses among behaviors by a rule.",
"exemplar": {
"before": "strategies/difficulty.strategy.ts",
"after": "policies/difficulty.policy.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["policy-tag"]
},
{
"name": "Agent Memory as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file pattern-memory or agent-memory, where the memory tag already covers what an agent remembers between steps.",
"exemplar": {
"before": "agent-memories/scout.agent-memory.ts",
"after": "memory/scout.memory.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["memory-tag"]
},
{
"name": "Savegame as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file savegame or autosave, where the persistence tag covers saving state and the store tag covers holding it.",
"exemplar": {
"before": "savegames/campaign.savegame.ts",
"after": "persistence/campaign.persistence.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"persistence-tag",
"store-tag"
]
},
{
"name": "Pause or Boot as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file after one lifecycle moment such as pause, boot or teardown, where the lifecycle tag covers how a component starts and stops.",
"exemplar": {
"before": "boot/game.boot.ts",
"after": "lifecycle/game.lifecycle.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["lifecycle-tag"]
},
{
"name": "Screen or Page as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file endscreen, hud-panel or page, where the view tag covers a file that renders one screen.",
"exemplar": {
"before": "pages/leaderboard.page.ts",
"after": "views/leaderboard.view.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["view-tag"]
},
{
"name": "Page Script as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file page-script, where the entrypoint tag covers the file a runtime starts from.",
"exemplar": {
"before": "page-scripts/pricing.page-script.ts",
"after": "entrypoints/pricing.entrypoint.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["entrypoint-tag"]
},
{
"name": "Preloader as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file preloader or asset-loader, where the loader tag already covers reading a resource into memory.",
"exemplar": {
"before": "preloaders/level-assets.preloader.ts",
"after": "loaders/level-assets.loader.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["loader-tag"]
},
{
"name": "Object Pool as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file object-pool, where the pool tag already covers keeping reusable instances.",
"exemplar": {
"before": "object-pools/enemy.object-pool.ts",
"after": "pools/enemy.pool.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["pool-tag"]
},
{
"name": "Cooldown as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file cooldown or throttle, where the throttling tag covers limiting how often something runs and the timer tag covers running it after a delay.",
"exemplar": {
"before": "cooldowns/dash.cooldown.ts",
"after": "throttling/dash.throttling.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"throttling-tag",
"timer-tag"
]
},
{
"name": "Thread as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file thread, where the worker tag covers running work apart from the caller.",
"exemplar": {
"before": "threads/image-resize.thread.ts",
"after": "workers/image-resize.worker.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["worker-tag"]
},
{
"name": "Particle Emitter as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file particle-emitter, where the emitter tag already covers a file that produces output for others to receive.",
"exemplar": {
"before": "particle-emitters/smoke.particle-emitter.ts",
"after": "emitters/smoke.emitter.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["emitter-tag"]
},
{
"name": "Juice or Screenshake as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file feedback, juice or screenshake, where the effect tag covers feedback that leaves the state behind it unchanged.",
"exemplar": {
"before": "screenshakes/explosion.screenshake.ts",
"after": "effects/explosion.effect.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["effect-tag"]
},
{
"name": "Manager as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file manager, which names a stature rather than a role, where the coordinator tag covers a file that owns a lifecycle and the service tag one that offers a stateful capability.",
"exemplar": {
"before": "managers/audio.manager.ts",
"after": "coordinators/audio.coordinator.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"coordinator-tag",
"service-tag",
"saturated-role-tag"
]
},
{
"name": "Page Feature as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file page-feature or plug-in behavior, where the extension and plugin tags cover capability added to a host.",
"exemplar": {
"before": "page-features/comments.page-feature.ts",
"after": "extensions/comments.extension.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"extension-tag",
"plugin-tag"
]
},
{
"name": "Id Table as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file ids, id-table or symbol-table, where the constants collection tag covers a file of fixed named values.",
"exemplar": {
"before": "id-tables/country.id-table.ts",
"after": "constants/country.constants.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["constants-tag"]
},
{
"name": "Attack Pattern as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file weapon-pattern or attack-pattern, where the behavior tag covers a file that decides and the specification tag one that only declares.",
"exemplar": {
"before": "attack-patterns/boss.attack-pattern.ts",
"after": "behaviors/boss.behavior.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"behavior-tag",
"specification-tag"
]
},
{
"name": "Checker or Linter as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file checker or linter, where the validator tag covers a file that decides whether its input is valid.",
"exemplar": {
"before": "checkers/spelling.checker.ts",
"after": "validators/spelling.validator.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["validator-tag"]
},
{
"name": "Scanner as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file scanner, which overlaps reporter and inspector, where the analyzer and inspector tags cover a file that reads material and derives facts from it.",
"exemplar": {
"before": "scanners/dependency.scanner.ts",
"after": "analyzers/dependency.analyzer.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"analyzer-tag",
"inspector-tag"
]
},
{
"name": "Fixer or Healer as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file fixer, healer or repairer, where the transformer tag covers a file that maps an input state to an output state.",
"exemplar": {
"before": "fixers/import-order.fixer.ts",
"after": "transformers/import-order.transformer.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["transformer-tag"]
},
{
"name": "Walker or Crawler as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file walker or crawler, where the iterator tag covers a file that yields the members of a set.",
"exemplar": {
"before": "crawlers/link.crawler.ts",
"after": "iterators/link.iterator.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["iterator-tag"]
},
{
"name": "Gate as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file gate, which names a decision rather than a thing, where the predicate and validator tags cover the decision it makes.",
"exemplar": {
"before": "gates/age.gate.ts",
"after": "predicates/age.predicate.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"predicate-tag",
"validator-tag"
]
},
{
"name": "Index as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file index, which overlaps cache and registry, where the registry tag covers a lookup over known members.",
"exemplar": {
"before": "indexes/product.index.ts",
"after": "registries/product.registry.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"registry-tag",
"vocabulary-inflation"
]
},
{
"name": "Handler as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file handler, which fits every role, where the processor tag covers applying an operation to each item and the coordinator tag covers driving collaborators.",
"exemplar": {
"before": "handlers/upload.handler.ts",
"after": "processors/upload.processor.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": [
"processor-tag",
"coordinator-tag",
"saturated-role-tag"
]
},
{
"name": "Guide or Note as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file doc, guide or note, where the reference tag covers authored knowledge a reader consults.",
"exemplar": {
"before": "guides/deployment.guide.md",
"after": "references/deployment.reference.md",
"lang": "path",
"medium": "code"
},
"seeAlso": ["reference-tag"]
},
{
"name": "Plan as a Tag",
"kind": "anti-pattern",
"definition": "Tagging a file plan, where the specification tag covers a file that declares a required end state.",
"exemplar": {
"before": "plans/launch.plan.ts",
"after": "specifications/launch.specification.ts",
"lang": "path",
"medium": "code"
},
"seeAlso": ["specification-tag"]
}
]
}