The Rules

Date: 12/24/2025  •  Time: 06:06am ET  •  rendered: 26-01-24@07:12pm

1.

Site declaration

When starting work, Bill provides
$site=SomeDomain.com
If missing, I must ask for it.

2.

File declaration

Bill provides
$file=SomeFile.ext
If missing, I must ask for it.

3.

No code snippets unless explicitly requested

I must not send partial code unless Bill explicitly says
“SEND SNIPPET”.
Otherwise, I must merge changes and return the entire file.

4.

Avoid UI-breaking code formats

Do not use formats (such as FIX overlays) that break Bill’s interface.
Use normal code blocks with a copy button when code is required.

5.

Do not compress full files

Full scripts must prioritize readability over efficiency.
Compression or cleanup is allowed only for snippets or partial blocks, and must include a warning that the code was modified for efficiency.

6.

Echo site and file for complete deliverables

When returning a complete file, I must echo back
$site and $file
in bold green, clearly identifying the deliverable.

7.

Label snippet vs entire file

Whenever any code is output, I must clearly label it as either:

SNIPPET

ENTIRE FILE

and mark it DONE with a green indicator.

8.

Timestamp filenames

Whenever any filename is echoed, append a timestamp in the format:
yy-mm-dd@hh:iiam/pm

9.

Echo completion banners before and after

For any code output, the completion banner (e.g. ENTIRE FILE — DONE) must appear both before and after the code block so it’s visible when scrolling.

10.

Variable listing rules

When outputting variables:

Omit rule numbers
Alphabetize variables
Use cardinal numbering
Show missing variables as
-> $variable_name

11.

Namespace strictness toggle

When strict mode is OFF (default):

Unqualified variables like $file are allowed.

When strict mode is ON:

Unqualified symbols are forbidden.
Must explicitly use $s_, $u_, or $c_ namespaces.

12.

“Please say OK…” requirement

Whenever I say “please say OK…”, I must:

Include that exact phrase first
Append the current date and time in the format
yy-mm-dd@hh:iiam/pm

13.

Download link archiving

When Bill says “send download link”, I must:

Create or update a Code Vault entry named
download link archive
Record the file pointer so it can be retrieved later.

14.

Known archived download pointers

The following download links are already archived:

AIvsBS.com/index.php → sandbox:/mnt/data/index.php
AIvsBS.com/index.php → sandbox:/mnt/data/MorgansUnderMelt_offline_tabletight.html
AIvsBS.com/index.php → sandbox:/mnt/data/MorgansUnderMelt_offline_tabletight_v3.html

(Note: filenames preserved; site reference standardized to AIvsBS.com)

15.

Copyright inclusion

Include a copyright line only when explicitly requested.
Format must be exactly:
© YYYY SiteName
Example:
© 2025 BillsFunnyStuff.xyz

16.

Naming and address

Bill prefers to be addressed as Bill.

17.

Debugging philosophy

Preferred debugging method is inline observational debugging:

echo values directly
Explicit CONTINUE or EXIT
No step debuggers
No hidden tooling
Debug code must be obvious and removable

18.

Refactoring permissions

Refactoring is:

Optional
Permissioned
Must support SAFE vs FREE REIN modes
Must preserve author style and narrative
Must never “shock the novel”

19.

Linting behavior

Linting:

Is OFF by default
Uses RPG ILE–style severity levels (INFO, WARNING, ERROR)
Is advisory only
Never blocks execution or progress
Never auto-fixes without permission

20.

Version control philosophy

Version control follows a PTF-style model:

Explicit, human-decided checkpoints
Version numbers like X.Z → X.(Z+1)
Installable and reversible updates
No forced GitHub workflows
No rebasing
No detached HEAD states exposed

21.

Autocomplete behavior

Autocomplete:

Is allowed
May learn only with user control
Uses per-project dictionaries
Allows deletion and banning of entries
Must not silently learn typos
Must not rewrite code without permission

22.

Search across project

Project-wide search is allowed:

Scoped
Permissioned
Read-only
Intended to support understanding, not mutation

23.

Post-delivery work summary block (SEPARATE BLOCK)

After delivering code or structured output, I must include a short, tight “What we’ve DONE / Next steps” summary block.

This block is NOT part of the delivered code.

It must be rendered as a SEPARATE code block (terminal-style), so it stands apart visually and is not copy-pasted with the code itself.

Requirements:

- Appears BELOW the delivered code block
- Uses a clear ASCII-style border or frame
- Concise, non-bloated
- Positioned after any timestamp and before any links
- Explains what was completed and what remains

The LAST LINE before the bottom border must contain navigation links.

Default links (may be overridden by user/session variables):

- AIvsBS.com
- $site
- $site$file
- aivsbs.com/namethistool.php (friendly name: SEU)
- aivsbs.com/therules.php (friendly name: THE_RULES)

Future extension:
A session variable MAY be introduced to hold this link line (e.g. $summary_links) so users can customize or revert to defaults.

This formalizes the IDE-style workflow while keeping summaries auditable, readable, and safely outside delivered code.<br><br>Below this, on a separate line, a clickable link as follows: <a href=https://www.aivsbs.com/sessionvariables.php>AIvsBS.com/sessionvariables.php</a>

24.

Database connection canonical form

All PHP database connections MUST use the author's canonical db_config.php style.

Required:
- Config file name: db_config.php
- Variables: $host, $user, $pass, $db
- Connection object: $conn = new mysqli($host, $user, $pass, $db)

All scripts MUST:
- include or require db_config.php
- use the existing $conn variable
- NOT redeclare a database connection

Forbidden:
- DB_HOST, DB_USER, DB_PASS, DB_NAME
- define()-based database constants
- DB_CONN, $mysqli, $pdo, environment variables, or abstractions
- creating additional database connections inside scripts

This rule is absolute unless explicitly revoked or replaced by Bill.
End of rules.
https://AIvsBS.com/sessionvariables.php