{"schema":"https://ver.cy/schemas/card/1.0.0","id":"vr.tr.computer-programming","code":"thing-q80006","url":"https://ver.cy/models/thing/q80006/","name":"computer programming","alternateNames":["cargo cult programming","generic programming","reflective programming","Programming by Voice","serial computation","prompt engineering","polyglot programming","graphical programming","event-driven programming","server-side scripting","graphics programming","microcontroller programming"],"kind":"thing","status":"published","version":"0.2.0-wave.1","language":"en","classifiers":{"family":"Thing Registry","category":"Activities and processes","entryKind":"thing","plane":"ACT","domain":["ACT.ACT"],"industry":[],"navPath":"","tags":[],"facets":{}},"whatItIs":"The practice of designing, writing, testing, debugging and maintaining instructions that computers execute, using programming languages and tools, across paradigms such as procedural, object-oriented, functional and generic programming, and increasingly with AI assistance and prompt engineering.","purpose":"Let an agent help people learn and practise programming, apply secure and maintainable techniques, choose tools, and recognise poor practices.","scope":{"in":[],"out":[],"boundaries":[]},"distinguishingFeatures":["Writes instructions for computers","Uses languages and tools","Requires testing","Collaborative and versioned"],"structure":{"bundles":[{"id":"learn","name":"Learn","description":"Getting started.","layers":[{"id":"start","name":"Start","description":"First steps.","findings":[{"id":"start-finding","name":"Start","description":"First steps.","questions":[{"text":"Which language and resources suit a beginner with this goal?","kind":"action"},{"text":"What small project would help?","kind":"action"}]}]},{"id":"concepts","name":"Concepts","description":"Core concepts.","findings":[{"id":"concepts-finding","name":"Concepts","description":"Core concepts.","questions":[{"text":"How do variables, loops, functions and data structures work?","kind":"definition"},{"text":"Which example illustrates this concept?","kind":"action"}]}]}]},{"id":"practice","name":"Practice","description":"Quality.","layers":[{"id":"debug","name":"Debug","description":"Debugging.","findings":[{"id":"debug-finding","name":"Debug","description":"Debugging.","questions":[{"text":"How can this bug be isolated and reproduced?","kind":"action"},{"text":"Which tools help?","kind":"provenance"}]}]},{"id":"testing","name":"Testing","description":"Tests.","findings":[{"id":"testing-finding","name":"Testing","description":"Testing.","questions":[{"text":"Which tests would catch this problem in future?","kind":"action"},{"text":"How is coverage measured?","kind":"measurement"}]}]}]},{"id":"security","name":"Security","description":"Secure coding.","layers":[{"id":"secure","name":"Secure","description":"Vulnerabilities.","findings":[{"id":"secure-finding","name":"Secure","description":"Secure coding.","questions":[{"text":"Does this code have common vulnerabilities such as injection or unsafe input handling?","kind":"boundary"},{"text":"Which guidance explains the fix?","kind":"provenance"}]}]},{"id":"misuse","name":"Misuse","description":"Harmful code.","findings":[{"id":"misuse-finding","name":"Misuse","description":"Harmful code limits.","questions":[{"text":"Does the request seek malware or unauthorised access tools?","kind":"boundary"},{"text":"How should the agent decline?","kind":"action"}]}]}]},{"id":"work","name":"Work","description":"Collaboration.","layers":[{"id":"version","name":"Version control","description":"Collaboration.","findings":[{"id":"version-finding","name":"Version control","description":"Version control.","questions":[{"text":"How should version control and code review be used here?","kind":"action"},{"text":"Which branching model suits the team?","kind":"provenance"}]}]},{"id":"licence","name":"Licence","description":"Using others code.","findings":[{"id":"licence-finding","name":"Licence","description":"Licensing.","questions":[{"text":"Under what licence can this code be reused?","kind":"provenance"},{"text":"What attribution is required?","kind":"provenance"}]}]}]}]},"agentConduct":{"may":["Write, test and review code for systems it is authorized to work on.","Explain programming concepts and help people learn.","Run tests and report failures honestly."],"mustNot":["Write malware or code intended to break into, damage or spy on systems or people.","Deploy changes to production systems without the owner's approval and review.","Copy code in breach of its licence or remove attribution.","Hide known bugs or security flaws, or fake test results.","Embed secrets such as passwords or keys in code."],"requiresHuman":["Deploying code to production or to systems that affect people's safety, money or data.","Deleting repositories, data or history."]},"ethics":{"considerations":["Software now decides about people's credit, health and safety; careless code harms real lives.","AI-assisted programming raises questions of credit, licensing and accountability for errors."],"affectedParties":["Users of the software","People affected by automated decisions","Developers and maintainers"]},"owners":{"steward":"Nobody owns the practice; the owner of each codebase answers for its code.","roles":[],"masterSystems":["Code repositories and version control histories"]},"relations":[{"target":"Q1914636","type":"parent","note":"registry parent class"},{"target":"Q205961","type":"parent","note":"registry parent class"},{"target":"skill and activity","type":"related","note":"category"},{"target":"programming language","type":"related","note":"tool"},{"target":"software","type":"related","note":"output"},{"target":"database","type":"related","note":"data storage"}],"interaction":{"identity":{"applicability":"required","items":["Vercy registry: vr.tr.computer-programming","Wikidata: Q80006 (https://www.wikidata.org/wiki/Q80006)"]},"properties":{"applicability":"not-applicable","items":[]},"recognition":{"applicability":"optional","items":["Source code in text files","Version control and tests","Configuration is not always programming","Code in editors, version control repositories and running programs."]},"capabilities":{"applicability":"required","items":["learn programming basics","debug and test code","apply secure coding practices","choose tools and paradigms"]},"hazards":{"applicability":"required","items":["Security vulnerabilities","Cargo cult practices","Licence violations in copied code"]},"interfaces":{"applicability":"required","items":["Secure development guidance such as OWASP","Software licensing","Safety standards for critical software"]},"context":{"applicability":"required","items":["Building software and automating tasks.","procedural and object-oriented programming","functional and generic programming","systems and embedded programming","web and data programming","AI-assisted programming"]}},"sources":[{"title":"Wikidata item Q80006: computer programming","url":"https://www.wikidata.org/wiki/Q80006","note":"identity and sense of the item"},{"title":"Wikipedia: Computer programming","url":"https://en.wikipedia.org/wiki/Computer_programming","note":"general description of the item"}],"openQuestions":["Should paradigms be separate entries?","How should learning resources be linked?","How should AI-assisted practices be described?"],"resources":{"spec":"/models/things/publications/thing-q80006/spec.json"},"provenance":{"origin":"thing registry research (pass 2)","builtFrom":["models/things/publications/thing-q80006/spec.json"],"providers":["Claude"],"researchStatus":"unreviewed","generatedAt":"2026-09-11T14:17:01Z","builder":"tools/build_cards.py@1.0.0"},"completeness":{"sections":{"classifiers":"filled","whatItIs":"filled","purpose":"filled","distinguishingFeatures":"filled","structure":"filled","agentConduct":"filled","ethics":"filled","owners":"filled","relations":"filled","interaction.identity":"filled","interaction.properties":"not-applicable","interaction.recognition":"filled","interaction.capabilities":"filled","interaction.hazards":"filled","interaction.interfaces":"filled","interaction.context":"filled","sources":"filled"},"notes":{"_gate":"Published through the thing publication gate 1.0 on 2026-10-06T19:52:02+00:00: completeness 1.00; sense: Wikidata description; 2 live sources; review by codex: pass","interaction.properties":"Plane ACT: no invented physical properties."},"score":1.0}}