Untitled Excavation
The Probationary Period Bug
The contract called her an independent contractor in twelve different places. It cited three Philippine Supreme Court cases. It had a four-fold test table with bolded headers. And it still would have gotten me sued.
I’m incorporating a company in Dumaguete — a One Person Corporation, which is Philippine legal code for “one American who’s too stubborn to find a co-founder.” The company runs an emergency dispatch platform. Four codebases, shared state machine, 1,271 automated tests. I built the whole thing in three weeks with an AI copilot while eating chicken adobo and pretending I understand Bisaya.
The first hire is a dispatcher trainee. Admin work. Data entry. Monitor the dashboard, answer member questions, learn the system. Simple. Except nothing is simple when you’re a foreign national hiring a Filipino citizen through a structure that doesn’t technically exist yet.
Philippine labor law has something called the four-fold test. Four factors that determine if someone is your employee or your contractor:
- Power to hire
- Payment of wages
- Power to dismiss
- Power to control the means and methods of work
Fail on number four and it doesn’t matter what your contract says. The Supreme Court held in Coca-Cola Bottlers v. Del Villar that the “totality of facts” determines the relationship — not the labels. Your beautifully formatted IC agreement becomes toilet paper.
So I did what any reasonable person would do. I had an AI draft an 780-line independent contractor agreement with nine RED NOTE markers for attorney review, a deliverable-based compensation structure, explicit non-exclusivity, and a detailed table mapping every element of the four-fold test to the operational reality.
Then I ran a contract review on it.
The Bug
Section 5.3 — Probationary Period
The first [30/60] days of the Initial Term constitute a
probationary period during which either Party may terminate
with 7 days written notice...
“Probationary period” is employment terminology under the Philippine Labor Code, Article 296. The word probationary doesn’t just sound like employment — it IS employment, definitionally. It’s like writing DROP TABLE users in a comment and being surprised when the intern runs it.
There was a disclaimer underneath:
Note: The term “probationary” here refers to a mutual evaluation period for the contractual engagement — NOT a probationary employment period under the Labor Code.
Sure. And the // TODO: fix this later comment is definitely getting fixed later.
The contract review caught four things like this. Not edge cases. Load-bearing terminology bugs:
- “Probationary period” → renamed to “Evaluation Period.” Same function, no NLRC landmine.
- Fixed monthly retainer with no output variation → added proportional reduction clause. A retainer that never changes is a salary. Salary means employee.
- “System Training” as a scope item → changed to “System Orientation” limited to two weeks. An IC is hired for existing skills. Training them is what an employer does.
- Indemnity for employment claims → deleted entirely. You can’t contractually penalize a worker for asserting they’re your employee. Philippine courts would void it and the attempt signals bad faith.
Each fix took thirty seconds. Each unfixed version could have cost years.
The Scar
Here’s what I keep thinking about. I had the four-fold test table. I had the case citations. I had nine RED NOTEs flagging every ambiguous section for attorney review. The contract was more thorough than anything I’d have gotten from a mid-tier law firm for under five grand.
And it still had a word in it that would have undermined the entire structure.
The fix wasn’t legal expertise. It was a second pass with a different lens. The drafting agent optimized for completeness. The review agent optimized for risk. Neither alone was sufficient. Together they found what neither would have caught — the gap between what the contract said and what a labor tribunal would hear.
This is the same pattern as debugging code. The compiler doesn’t catch logic errors. The unit test doesn’t catch integration failures. The integration test doesn’t catch the production config that points at the wrong database. You need layers. Each one catches what the last one missed.
Is an AI-drafted legal document as good as a real attorney? No. But here’s the thing — I’m not skipping the attorney. I’m walking into that first consultation with 2,485 lines of organized, cited, risk-scored documentation instead of a napkin sketch that says “I want to start a company and hire someone.” The attorney’s job got easier. My bill got smaller. And the four items that would have actually hurt me are already fixed.
The most dangerous bugs aren’t in your code. They’re in the words you used without thinking about who else gets to interpret them.
Maynard once sang about learning to swim. But nobody tells you the water’s in the contract.