ContinousAstra_v1 / aegis_docs.py
AGofficial's picture
Upload 21 files
7bb8aac verified
Raw History Blame Contribute Delete
5.54 kB
"""Bundled agent-facing examples; no filesystem reads or user-selected paths."""
def documentation():
"""Return a fresh documentation payload, independent of mutable virtual files."""
return {
"language": "Aegis",
"version": "0.1",
"workflow": [
"Choose an example and copy its content into create_file(filename, content). "
"Example filenames are suggestions, not files already in your virtual store.",
"Call run_ag_file(filename) with the .aeg extension. Use write_file to revise "
"an existing script; scripts can be run repeatedly with fresh variables.",
"When status is input_required, call provide_ag_input(value) on your next "
"response. Each value must be a string. Continue for each requested input.",
"Output is cumulative across pauses. An input request extends the wake to "
"20 total model responses, including those already used; it never resets the cap.",
],
"rules": [
"One statement per line; consistent two or four spaces per indent; no tabs. "
"Use # comments and lowercase names matching [a-z][a-z0-9_]*.",
'Strings use double quotes and JSON escapes. Values are int, finite float, '
'bool (true/false), or string. input() always returns string.',
"print(expression) accepts one value and appends a newline. Print a label "
"and a number separately: there is no string conversion or numeric input parser.",
"Precedence high to low: parentheses; unary not/minus; ^; * /; + -; "
"comparisons; and; or. Power is right-associative: 2 ^ 3 ^ 2 is 512. "
"Unary minus binds first: -2 ^ 2 is 4. Use parentheses for clarity.",
"Arithmetic excludes bools. Mixed int/float arithmetic promotes to float. "
"Division returns float. + also concatenates two strings. Unlike-type "
"equality is false, so 1 == 1.0 is false. Do not chain comparisons.",
"if, and, or, not require bools; and/or short-circuit. All branches are "
"checked before execution. Assign variables on every branch before reading them.",
"No loops, functions, imports, collections, host files, terminal, network, "
"environment or dynamic execution. Programs have bounded resources. "
"Errors include safe source positions; fix the script and run again.",
],
"examples": [
{
"filename": "hello.aeg",
"purpose": "Print literal text and concatenate strings.",
"content": 'greeting = "Hello"\nname = "Astra"\nprint(greeting + ", " + name)\n',
"inputs": [],
"expected_output": "Hello, Astra\n",
},
{
"filename": "calculate.aeg",
"purpose": "Calculate with numbers and print labels separately.",
"content": 'width = 8\nheight = 3.5\narea = width * height\n'
'print("Area:")\nprint(area)\nprint(7 / 2)\n'
'print(2 ^ 3 ^ 2)\nprint(-2 ^ 2)\nprint(2 ^ -2)\n',
"inputs": [],
"expected_output": "Area:\n28.0\n3.5\n512\n4\n0.25\n",
},
{
"filename": "policy.aeg",
"purpose": "Combine booleans and comparisons; assign a result in both branches.",
"content": 'approved = true\nrisk = 2\n'
'if approved and risk < 5:\n decision = "allow"\n'
'else:\n decision = "deny"\nprint(decision)\n',
"inputs": [],
"expected_output": "allow\n",
},
{
"filename": "greet_input.aeg",
"purpose": "Pause for one input string, then resume with provide_ag_input.",
"content": 'print("Supply a name")\nname = input()\nprint("Hello, " + name)\n',
"inputs": ["Astra"],
"expected_output": "Supply a name\nHello, Astra\n",
},
{
"filename": "approve_input.aeg",
"purpose": "Request two strings in sequence and branch on an explicit text answer.",
"content": 'print("Supply a name")\nname = input()\n'
'print("Supply yes to approve")\nanswer = input()\n'
'if answer == "yes":\n print("Approved: " + name)\n'
'else:\n print("Denied: " + name)\n',
"inputs": ["Astra", "yes"],
"expected_output": "Supply a name\nSupply yes to approve\nApproved: Astra\n",
},
{
"filename": "nested_policy.aeg",
"purpose": "Nest conditionals and safely skip a division using short-circuiting.",
"content": '# Both paths assign a message before it is read.\n'
'enabled = true\ncount = 0\nif enabled:\n'
' if count != 0 and 10 / count > 2:\n message = "high"\n'
' else:\n message = "low or empty"\n'
'else:\n message = "disabled"\nprint(message)\n'
'print(not false)\nprint("line one\\nline two")\n',
"inputs": [],
"expected_output": "low or empty\ntrue\nline one\nline two\n",
},
],
}