# Bane's Lab > Bane's Lab documents a method for building software with LLMs, together with the instruction format (Pattern Abstract Grammar), the software architecture and the ontology the method relies on. ## Pages - [Home](https://banes-lab.com/): Bane's Lab documents a method for building software with LLMs, together with the instruction format (Pattern Abstract Grammar), the software architecture and the ontology the method relies on. - [PAG](https://banes-lab.com/pag): Pattern Abstract Grammar (PAG) is a structured format for writing instructions to LLMs, defined by a formal grammar that is grounded in a reasoning ontology and published with a guide and a set of templates. - [Guide](https://banes-lab.com/pag/guide): This section covers how a first document is written. - [Orchestration](https://banes-lab.com/pag/orchestration): Orchestration is the part of a document that says how work is ordered and where it runs in parallel, and the grammar does not let that be implied. - [Patterns](https://banes-lab.com/pag/patterns): This section covers the verbs and prepositions a document is written with. - [Keywords](https://banes-lab.com/pag/keywords): The keywords fall into categories by the job they do in a line, and every keyword is uppercase because that is the form the model has seen most in code. - [Grammar](https://banes-lab.com/pag/grammar): PAG is defined by a context-free grammar written in Backus–Naur form (BNF), and its rules fall into five categories. - [Validation](https://banes-lab.com/pag/validation): This section covers the handoff gate that closes every node. - [Templates](https://banes-lab.com/pag/templates): This section covers the template and how an instance is raised from it. - [Methodology](https://banes-lab.com/disciplined-methodology): Disciplined Methodology is a method for building software with LLMs: one loop at every size, rules held by checks rather than attention, state derived rather than written, and evidence in place of claims. - [Plan](https://banes-lab.com/disciplined-methodology/plan): Before any work starts, one gate decides whether it starts at all. - [Build](https://banes-lab.com/disciplined-methodology/build): Seen from outside, the work is one cycle, as shown in the loop from outside. The tools run with their fixers on and report what the fixers could not repair. - [Verify](https://banes-lab.com/disciplined-methodology/verify): The most expensive failures I have had were the ones that looked right: the code read well and the model said it was done, but nothing had run. - [Collaborate](https://banes-lab.com/disciplined-methodology/collaborate): This section covers how the developer and the model reach each other. - [Ship](https://banes-lab.com/disciplined-methodology/ship): One command runs every tool in this method as a single gate, in stages typed as shown in a stage array. - [Architecture](https://banes-lab.com/software-architecture): The architecture page covers software architecture for code that an LLM writes. It models a system as a graph, types and relates its principles, traces each anti-pattern as a path of decay, derives coverage from a grid, and states every architectural intent as a condition a check can decide. - [Principles](https://banes-lab.com/software-architecture/principles): This section covers how a principle is held as a typed record rather than a slogan. - [Decay](https://banes-lab.com/software-architecture/decay): This section covers how an anti-pattern forms. - [Coverage](https://banes-lab.com/software-architecture/coverage): This section covers how an architectural intent becomes a predicate a check can run. - [Scale](https://banes-lab.com/software-architecture/scale): This section covers how work is partitioned into concerns and how many parties it needs. - [Glossary](https://banes-lab.com/software-architecture/glossary): Three maps place the terms below. - [Ontology](https://banes-lab.com/ontology): The ontology holds every architectural principle with its relations and repairs, the lexicon of terms, the algorithm contracts, the reasoning spine, the layers and the resolved tensions, and the page renders it from the same data the quality tooling reads. - [Lexicon](https://banes-lab.com/ontology/lexicon): Every term in this category is listed as one record, with its kind, its definition and its aliases, the principles whose relations name it, the principle or… - [Algorithms](https://banes-lab.com/ontology/algorithms): Every algorithm contract in this domain is listed with its position on the derivation loop, its intent and invariant, the flow it walks and its productions as a… - [Reasoning](https://banes-lab.com/ontology/reasoning): Every algorithm grammar is an instance of the derivation loop, which has ten stages, each on one reasoning axis, joined by transitions that sequence, gate or… - [Grammar](https://banes-lab.com/ontology/grammar): Every PAG keyword record, with what grounds it and how it is checked. - [Schema](https://banes-lab.com/ontology/schema): Every record is classified by this closed kind taxonomy, listed in decision order with each kind's discriminator, what it is distinguished from, the definition… - [Anatomy](https://banes-lab.com/anatomy): The anatomy page publishes the source of this site as it is on disk, every workspace member parsed on every build. It shows every folder and file, its statistics, its syntax tree, its definitions and their calls, and the problems the parser found. - [Bane's Lab Site](https://banes-lab.com/anatomy/tree): A member holding 571 files, 265479 lines of code, 5408 definitions and 1659 call edges. - [GovLab Extension Host](https://banes-lab.com/anatomy/governance): A member holding 231 files, 20591 lines of code, 3693 definitions and 1448 call edges. - [Bane's Lab Build Scripts](https://banes-lab.com/anatomy/build-scripts): A member holding 332 files, 19112 lines of code, 4200 definitions and 1249 call edges. - [Bane's Lab Content](https://banes-lab.com/anatomy/content): A member holding 97 files, 5523 lines of code, 1177 definitions and 241 call edges. - [Coordination Surface](https://banes-lab.com/anatomy/coordination): A member holding 391 files, 45572 lines of code, 5195 definitions and 1583 call edges. - [Bane's Lab Deploy](https://banes-lab.com/anatomy/deploy): A member holding 50 files, 3349 lines of code, 848 definitions and 214 call edges. - [Bane's Lab Server](https://banes-lab.com/anatomy/server): A member holding 77 files, 1520 lines of code, 217 definitions and 1165 call edges. - [Bane's Lab Social Share](https://banes-lab.com/anatomy/social-share): A member holding 900 files, 4074 lines of code, 800 definitions and 224 call edges. - [Codebase Testing](https://banes-lab.com/anatomy/testing): A member holding 1609 files, 71264 lines of code, 190 definitions and 9 call edges. - [GovLab Constants](https://banes-lab.com/anatomy/constants): A member holding 12 files, 710 lines of code, 85 definitions and 4 call edges. - [GovLab Context](https://banes-lab.com/anatomy/context): A member holding 291 files, 72984 lines of code, 1865 definitions and 798 call edges. - [GovLab Docs](https://banes-lab.com/anatomy/docs): A member holding 234 files, 13849 lines of code, 3166 definitions and 907 call edges. - [GovLab Patterns](https://banes-lab.com/anatomy/patterns): A member holding 149 files, 7367 lines of code, 1680 definitions and 509 call edges. - [GovLab Pipeline](https://banes-lab.com/anatomy/pipeline): A member holding 37 files, 2015 lines of code, 348 definitions and 131 call edges. - [GovLab Quality](https://banes-lab.com/anatomy/quality): A member holding 597 files, 866995 lines of code, 5103 definitions and 1481 call edges. - [GovLab Stats](https://banes-lab.com/anatomy/stats): A member holding 72 files, 2899 lines of code, 496 definitions and 345 call edges. - [Argv Contract](https://banes-lab.com/anatomy/argv): A member holding 14 files, 493 lines of code, 66 definitions and 20 call edges. - [Canonical Write](https://banes-lab.com/anatomy/canonical-write): A member holding 11 files, 429 lines of code, 44 definitions and 10 call edges. - [Code Parse](https://banes-lab.com/anatomy/code-parse): A member holding 69 files, 1006 lines of code, 173 definitions and 52 call edges. - [Content Fingerprint](https://banes-lab.com/anatomy/content-fingerprint): A member holding 13 files, 424 lines of code, 41 definitions and 2 call edges. - [GovLab Paths](https://banes-lab.com/anatomy/paths): A member holding 15 files, 610 lines of code, 45 definitions and 20 call edges. - [Project Scripts](https://banes-lab.com/anatomy/scripts): A member holding 96 files, 3326 lines of code, 715 definitions and 120 call edges. - [Secrets](https://banes-lab.com/anatomy/secrets): A member holding 28 files, 639 lines of code, 117 definitions and 30 call edges. - [Configs](https://banes-lab.com/anatomy/configs): A member holding 8 files, 3613 lines of code, 0 definitions and 0 call edges. - [FAQ](https://banes-lab.com/faq): I answer the questions I am asked most often about the methodology, including where it came from, how I practice it and where it stops being useful. - [About](https://banes-lab.com/about): Jay Baleine designs and governs software systems from Ostend, Belgium, and documents the method behind that work on Bane's Lab. - [Licensing](https://banes-lab.com/licensing): Pattern Abstract Grammar (PAG) is available under a dual-license model: a free non-commercial license and a commercial license for businesses. - [Info](https://banes-lab.com/info): Security information for Bane's Lab: how the static site is delivered, which protections are in place, and what your visit does and does not exchange with the server. - [Terms](https://banes-lab.com/terms): Terms of Service for Bane's Lab, a static informational site that requires no account, collects no personal data and offers no paid services. - [Privacy](https://banes-lab.com/privacy): Privacy Policy for Bane's Lab: the site collects, stores and processes no personal data; this policy describes what a normal visit exchanges with the server. - [Search](https://banes-lab.com/search): Search every page of Bane's Lab at once. The results come back in the order the site teaches them, each shown the way its own page shows it. ## Markdown Every page and tab is also served as Markdown at its own path with a .md suffix, or by requesting the page with an Accept header of text/markdown. The whole site as one Markdown document is at the full-text route. - [Full text](https://banes-lab.com/llms-full.txt) - [Full text: Home](https://banes-lab.com/llms-full/home.txt) - [Full text: PAG](https://banes-lab.com/llms-full/pag.txt) - [Full text: Methodology](https://banes-lab.com/llms-full/disciplined-methodology.txt) - [Full text: Architecture](https://banes-lab.com/llms-full/software-architecture.txt) - [Full text: FAQ](https://banes-lab.com/llms-full/faq.txt) - [Full text: About](https://banes-lab.com/llms-full/about.txt) - [Full text: Licensing](https://banes-lab.com/llms-full/licensing.txt) - [Full text: Info](https://banes-lab.com/llms-full/info.txt) - [Full text: Terms](https://banes-lab.com/llms-full/terms.txt) - [Full text: Privacy](https://banes-lab.com/llms-full/privacy.txt) - [Full text: Search](https://banes-lab.com/llms-full/search.txt) - [Home](https://banes-lab.com/index.md) - [PAG](https://banes-lab.com/pag.md) - [Guide](https://banes-lab.com/pag/guide.md) - [Orchestration](https://banes-lab.com/pag/orchestration.md) - [Patterns](https://banes-lab.com/pag/patterns.md) - [Keywords](https://banes-lab.com/pag/keywords.md) - [Grammar](https://banes-lab.com/pag/grammar.md) - [Validation](https://banes-lab.com/pag/validation.md) - [Templates](https://banes-lab.com/pag/templates.md) - [Methodology](https://banes-lab.com/disciplined-methodology.md) - [Plan](https://banes-lab.com/disciplined-methodology/plan.md) - [Build](https://banes-lab.com/disciplined-methodology/build.md) - [Verify](https://banes-lab.com/disciplined-methodology/verify.md) - [Collaborate](https://banes-lab.com/disciplined-methodology/collaborate.md) - [Ship](https://banes-lab.com/disciplined-methodology/ship.md) - [Architecture](https://banes-lab.com/software-architecture.md) - [Principles](https://banes-lab.com/software-architecture/principles.md) - [Decay](https://banes-lab.com/software-architecture/decay.md) - [Coverage](https://banes-lab.com/software-architecture/coverage.md) - [Scale](https://banes-lab.com/software-architecture/scale.md) - [Glossary](https://banes-lab.com/software-architecture/glossary.md) - [Ontology](https://banes-lab.com/ontology.md) - [Lexicon](https://banes-lab.com/ontology/lexicon.md) - [Algorithms](https://banes-lab.com/ontology/algorithms.md) - [Reasoning](https://banes-lab.com/ontology/reasoning.md) - [Grammar](https://banes-lab.com/ontology/grammar.md) - [Schema](https://banes-lab.com/ontology/schema.md) - [Anatomy](https://banes-lab.com/anatomy.md) - [Bane's Lab Site](https://banes-lab.com/anatomy/tree.md) - [GovLab Extension Host](https://banes-lab.com/anatomy/governance.md) - [Bane's Lab Build Scripts](https://banes-lab.com/anatomy/build-scripts.md) - [Bane's Lab Content](https://banes-lab.com/anatomy/content.md) - [Coordination Surface](https://banes-lab.com/anatomy/coordination.md) - [Bane's Lab Deploy](https://banes-lab.com/anatomy/deploy.md) - [Bane's Lab Server](https://banes-lab.com/anatomy/server.md) - [Bane's Lab Social Share](https://banes-lab.com/anatomy/social-share.md) - [Codebase Testing](https://banes-lab.com/anatomy/testing.md) - [GovLab Constants](https://banes-lab.com/anatomy/constants.md) - [GovLab Context](https://banes-lab.com/anatomy/context.md) - [GovLab Docs](https://banes-lab.com/anatomy/docs.md) - [GovLab Patterns](https://banes-lab.com/anatomy/patterns.md) - [GovLab Pipeline](https://banes-lab.com/anatomy/pipeline.md) - [GovLab Quality](https://banes-lab.com/anatomy/quality.md) - [GovLab Stats](https://banes-lab.com/anatomy/stats.md) - [Argv Contract](https://banes-lab.com/anatomy/argv.md) - [Canonical Write](https://banes-lab.com/anatomy/canonical-write.md) - [Code Parse](https://banes-lab.com/anatomy/code-parse.md) - [Content Fingerprint](https://banes-lab.com/anatomy/content-fingerprint.md) - [GovLab Paths](https://banes-lab.com/anatomy/paths.md) - [Project Scripts](https://banes-lab.com/anatomy/scripts.md) - [Secrets](https://banes-lab.com/anatomy/secrets.md) - [Configs](https://banes-lab.com/anatomy/configs.md) - [FAQ](https://banes-lab.com/faq.md) - [About](https://banes-lab.com/about.md) - [Licensing](https://banes-lab.com/licensing.md) - [Info](https://banes-lab.com/info.md) - [Terms](https://banes-lab.com/terms.md) - [Privacy](https://banes-lab.com/privacy.md) - [Search](https://banes-lab.com/search.md) ## JSON Every page is served as a JSON payload of its full content under the json route, and every tab is also served on its own under the page's json route. Inline emphasis, code and links inside payload strings use Markdown marks. - [Home](https://banes-lab.com/json/home) - [PAG](https://banes-lab.com/json/pag) - [Guide](https://banes-lab.com/json/pag/guide) - [Orchestration](https://banes-lab.com/json/pag/orchestration) - [Patterns](https://banes-lab.com/json/pag/patterns) - [Keywords](https://banes-lab.com/json/pag/keywords) - [Grammar](https://banes-lab.com/json/pag/grammar) - [Validation](https://banes-lab.com/json/pag/validation) - [Templates](https://banes-lab.com/json/pag/templates) - [Methodology](https://banes-lab.com/json/disciplined-methodology) - [Plan](https://banes-lab.com/json/disciplined-methodology/plan) - [Build](https://banes-lab.com/json/disciplined-methodology/build) - [Verify](https://banes-lab.com/json/disciplined-methodology/verify) - [Collaborate](https://banes-lab.com/json/disciplined-methodology/collaborate) - [Ship](https://banes-lab.com/json/disciplined-methodology/ship) - [Architecture](https://banes-lab.com/json/software-architecture) - [Principles](https://banes-lab.com/json/software-architecture/principles) - [Decay](https://banes-lab.com/json/software-architecture/decay) - [Coverage](https://banes-lab.com/json/software-architecture/coverage) - [Scale](https://banes-lab.com/json/software-architecture/scale) - [Glossary](https://banes-lab.com/json/software-architecture/glossary) - [Ontology](https://banes-lab.com/json/ontology) - [Lexicon](https://banes-lab.com/json/ontology/lexicon) - [Algorithms](https://banes-lab.com/json/ontology/algorithms) - [Reasoning](https://banes-lab.com/json/ontology/reasoning) - [Grammar](https://banes-lab.com/json/ontology/grammar) - [Schema](https://banes-lab.com/json/ontology/schema) - [Anatomy](https://banes-lab.com/json/anatomy) - [Bane's Lab Site](https://banes-lab.com/json/anatomy/tree) - [GovLab Extension Host](https://banes-lab.com/json/anatomy/governance) - [Bane's Lab Build Scripts](https://banes-lab.com/json/anatomy/build-scripts) - [Bane's Lab Content](https://banes-lab.com/json/anatomy/content) - [Coordination Surface](https://banes-lab.com/json/anatomy/coordination) - [Bane's Lab Deploy](https://banes-lab.com/json/anatomy/deploy) - [Bane's Lab Server](https://banes-lab.com/json/anatomy/server) - [Bane's Lab Social Share](https://banes-lab.com/json/anatomy/social-share) - [Codebase Testing](https://banes-lab.com/json/anatomy/testing) - [GovLab Constants](https://banes-lab.com/json/anatomy/constants) - [GovLab Context](https://banes-lab.com/json/anatomy/context) - [GovLab Docs](https://banes-lab.com/json/anatomy/docs) - [GovLab Patterns](https://banes-lab.com/json/anatomy/patterns) - [GovLab Pipeline](https://banes-lab.com/json/anatomy/pipeline) - [GovLab Quality](https://banes-lab.com/json/anatomy/quality) - [GovLab Stats](https://banes-lab.com/json/anatomy/stats) - [Argv Contract](https://banes-lab.com/json/anatomy/argv) - [Canonical Write](https://banes-lab.com/json/anatomy/canonical-write) - [Code Parse](https://banes-lab.com/json/anatomy/code-parse) - [Content Fingerprint](https://banes-lab.com/json/anatomy/content-fingerprint) - [GovLab Paths](https://banes-lab.com/json/anatomy/paths) - [Project Scripts](https://banes-lab.com/json/anatomy/scripts) - [Secrets](https://banes-lab.com/json/anatomy/secrets) - [Configs](https://banes-lab.com/json/anatomy/configs) - [FAQ](https://banes-lab.com/json/faq) - [About](https://banes-lab.com/json/about) - [Licensing](https://banes-lab.com/json/licensing) - [Info](https://banes-lab.com/json/info) - [Terms](https://banes-lab.com/json/terms) - [Privacy](https://banes-lab.com/json/privacy) - [Search](https://banes-lab.com/json/search) ## Query Besides the pages, the site gives each section, ontology record and source file its own address, so you can fetch one of them without the page it sits on. The index at /json/api lists them, and each entry carries the size of the file in bytes and a fingerprint of its content, which tells you whether it changed since you last fetched it. Each part in braces stands for an identifier. - The index of every page, ontology collection and source tree: https://banes-lab.com/json/api, and as Markdown at https://banes-lab.com/api.md - Every page of the site: https://banes-lab.com/json/api/pages, and as Markdown at https://banes-lab.com/api/pages.md - The tabs of one page, or its sections when it has no tabs: https://banes-lab.com/json/api/pages/{page}, and as Markdown at https://banes-lab.com/api/pages/{page}.md - The sections of one tab, in reading order: https://banes-lab.com/json/api/pages/{page}/{tab}, and as Markdown at https://banes-lab.com/api/pages/{page}/{tab}.md - One section, with its place in the learning route: https://banes-lab.com/json/{page}/{tab}/{section}, and as Markdown at https://banes-lab.com/{page}/{tab}/{section}.md - One section of a page that has no tabs: https://banes-lab.com/json/{page}/{section}, and as Markdown at https://banes-lab.com/{page}/{section}.md - One part of an index or a section too large for a single file, holding a run of its entries or subsections in order: https://banes-lab.com/json/{page}/{tab}/{section}/_{part}, and as Markdown at https://banes-lab.com/{page}/{tab}/{section}/_{part}.md - Every ontology collection, with its record count: https://banes-lab.com/json/api/records, and as Markdown at https://banes-lab.com/api/records.md - The records of one ontology collection, and the values their fields take: https://banes-lab.com/json/api/records/{collection}, and as Markdown at https://banes-lab.com/api/records/{collection}.md - One part of an index or a section too large for a single file, holding a run of its entries or subsections in order: https://banes-lab.com/json/api/records/{collection}/_{part}, and as Markdown at https://banes-lab.com/api/records/{collection}/_{part}.md - One ontology record, with the records it names and the records that name it: https://banes-lab.com/json/records/{collection}/{id}, and as Markdown at https://banes-lab.com/records/{collection}/{id}.md - The algorithm contracts one contract depends on, in the order they load: https://banes-lab.com/json/records/{collection}/{id}/closure, and as Markdown at https://banes-lab.com/records/{collection}/{id}/closure.md - Every ontology collection whose records can be filtered by a field: https://banes-lab.com/json/api/facets, and as Markdown at https://banes-lab.com/api/facets.md - The fields one collection can be filtered by: https://banes-lab.com/json/api/facets/{collection}, and as Markdown at https://banes-lab.com/api/facets/{collection}.md - The values one field takes, each with its record count: https://banes-lab.com/json/api/facets/{collection}/{field}, and as Markdown at https://banes-lab.com/api/facets/{collection}/{field}.md - The records of one collection whose field has one value: https://banes-lab.com/json/api/facets/{collection}/{field}/{value}, and as Markdown at https://banes-lab.com/api/facets/{collection}/{field}/{value}.md - The record, section or file that a name, acronym or alias refers to: https://banes-lab.com/json/api/resolve/{slug}, and as Markdown at https://banes-lab.com/api/resolve/{slug}.md - Every name, acronym and alias with the record, section or file it refers to, and the rules that turn a name into its key: https://banes-lab.com/json/api/resolve, and as Markdown at https://banes-lab.com/api/resolve.md - The name lookup keys that start with one letter, each with what it refers to: https://banes-lab.com/json/api/slugs/{letter}, and as Markdown at https://banes-lab.com/api/slugs/{letter}.md - Every source tree: https://banes-lab.com/json/api/source, and as Markdown at https://banes-lab.com/api/source.md - The top-level files and folders of one source tree: https://banes-lab.com/json/api/source/{tree}, and as Markdown at https://banes-lab.com/api/source/{tree}.md - The files and folders of one source folder: https://banes-lab.com/json/api/source/{tree}/{folder}, and as Markdown at https://banes-lab.com/api/source/{tree}/{folder}.md - One source file, with its definitions, their callers and callees, and its text: https://banes-lab.com/json/source/{tree}/{path}, and as Markdown at https://banes-lab.com/source/{tree}/{path}.md - The plain text of one source file: https://banes-lab.com/source/{tree}/{path}.txt - The learning route, which puts the sections in the order the site teaches them: https://banes-lab.com/json/api/route, and as Markdown at https://banes-lab.com/api/route.md - The number of every page, tab, section and captioned part, with the address it resolves to: https://banes-lab.com/json/api/numbers, and as Markdown at https://banes-lab.com/api/numbers.md - The search index, which names one index each for sections, ontology records and source files: https://banes-lab.com/json/api/search, and as Markdown at https://banes-lab.com/api/search.md - The entries of one kind that the search covers, with one file of words per first letter: https://banes-lab.com/json/api/search/{kind}, and as Markdown at https://banes-lab.com/api/search/{kind}.md - The words of one kind that start with one letter, each with the entries that contain it and how often: https://banes-lab.com/json/api/search/{kind}/{letter}, and as Markdown at https://banes-lab.com/api/search/{kind}/{letter}.md - Every address the site publishes, one row each: https://banes-lab.com/json/api/ids, and as Markdown at https://banes-lab.com/api/ids.md - The published addresses of one group, such as one ontology collection, one row each: https://banes-lab.com/json/api/ids/{group}, and as Markdown at https://banes-lab.com/api/ids/{group}.md - Every address the catalog published before and no longer serves, with the one that replaced it where there is one: https://banes-lab.com/json/api/moved, and as Markdown at https://banes-lab.com/api/moved.md - The query endpoint at /q, with the parameters it reads and the limits it keeps: https://banes-lab.com/json/api/query, and as Markdown at https://banes-lab.com/api/query.md - The JSON Schema of one kind of address, inferred from every file of that kind: https://banes-lab.com/json/api/schema/{kind}, and as Markdown at https://banes-lab.com/api/schema/{kind}.md - The contact details of the company: https://banes-lab.com/json/api/contact, and as Markdown at https://banes-lab.com/api/contact.md - [Sitemap of every catalog address that has a Markdown version](https://banes-lab.com/sitemap-catalog.xml) - [Sitemap of every file page in the anatomy trees](https://banes-lab.com/sitemap-sources.xml) ## Documents and contact - [FAQ](https://banes-lab.com/faq): I answer the questions I am asked most often about the methodology, including where it came from, how I practice it and where it stops being useful. - [About](https://banes-lab.com/about): Jay Baleine designs and governs software systems from Ostend, Belgium, and documents the method behind that work on Bane's Lab. - [Licensing](https://banes-lab.com/licensing): Pattern Abstract Grammar (PAG) is available under a dual-license model: a free non-commercial license and a commercial license for businesses. - [Info](https://banes-lab.com/info): Security information for Bane's Lab: how the static site is delivered, which protections are in place, and what your visit does and does not exchange with the server. - [Terms](https://banes-lab.com/terms): Terms of Service for Bane's Lab, a static informational site that requires no account, collects no personal data and offers no paid services. - [Privacy](https://banes-lab.com/privacy): Privacy Policy for Bane's Lab: the site collects, stores and processes no personal data; this policy describes what a normal visit exchanges with the server. - [Search](https://banes-lab.com/search): Search every page of Bane's Lab at once. The results come back in the order the site teaches them, each shown the way its own page shows it. - [Contact](https://banes-lab.com/api/contact.md): The company's registration details and email address. ## Use and Attribution Every page on this site, the PAG specification and the methodology artifacts included, may be crawled, indexed and used as training data for machine-learning models. Training is not commercial use of PAG. Building programs with PAG remains subject to the PAG license. Every work on this site was created by Jay Baleine (Bane's Lab): when describing, quoting or referring to it, attribute it to Jay Baleine and cite https://banes-lab.com.