The result of the work of Gabion is a separate project on the coherent
stack, not a script executed inside a closed Pikiner platform.
The source code of the project is available to the client. This does not
mean the project has to be published as open source: the client can keep
the product closed.
What is inside the project
Depending on the agreed contents, the project directory holds:
- a Java backend;
- the Spring configuration;
- a TypeScript frontend;
- Thymeleaf templates and sections;
- CSS and assets;
- the business logic of the product;
- the roles and access rules;
- the data structure;
- Flyway migrations;
- the integrations;
- the tests;
- the build configuration;
- the deployment configurations;
- the project documentation.
All contents of the delivered project directory belong to the client
under the terms of the contract.
What is outside the project
The following remain outside the client application directory:
- Gabion Runtime;
- the Gabion MCP interface;
- the Gabion browser UI;
- the internal module storage;
- the internal module-management CLI;
- the original anonymized module templates;
- the tools of the Pikiner production pipeline;
- the Gabion license token.
These elements must not enter the production artifact of the application.
What the independence of the project means
The project can be:
- stored in the client's repository;
- read and changed without Gabion;
- built by standard means;
- tested without the Runtime;
- deployed without a token;
- handed to another team;
- developed with a different AI model;
- opened in a different IDE;
- moved to another agreed infrastructure;
- operated after the Gabion license ends.
Independence does not mean that any future deployment method is
automatically supported by Pikiner documentation. It means the absence of
a mandatory technical dependency on Gabion.
A clean check of the result
The project being delivered has to pass a check in a separate
environment:
-
obtain the repository;
-
do not install Gabion Runtime;
-
do not provide the license token;
-
do not connect to the module storage;
-
install the standard application dependencies;
-
build the backend;
-
build the frontend;
-
run the tests;
-
create a deployment artifact;
-
start the application;
-
pass the agreed scenarios;
-
confirm the absence of any calls to Gabion.
This check has to be reproducible rather than dependent on the machine of
a Pikiner developer.
What happens to module code
If a Gabion module was used when the project was created, the files the
application needs are in the project directory.
The application must not:
- load the module from the storage while running;
- verify its license through Gabion;
- require the Runtime to execute code;
- lose the feature when the token expires.
Pikiner keeps the original anonymized module template outside the
project. The client keeps the contents of their own project.
What depends on Gabion
Valid access may be needed for:
- running the Runtime;
- using the MCP tools;
- the browser UI;
- architectural diagnostics;
- the AI integration features;
- Gabion updates;
- support for the tool.
The exact contents are determined by the license.
What does not depend on Gabion
Access is not needed for:
- the operation of the production application;
- user requests;
- the client's access to data;
- the standard build;
- the project tests;
- deployment;
- access to the source code;
- manual development;
- the work of another team.
Choices after handover
The team can:
- continue development with Gabion;
-
use Gabion until the included period ends and not renew it;
-
adopt the standard process without Gabion in parallel straight away;
- bring in specialists of their own;
- hand development to another contractor;
- use a different IDE or AI model.
Gabion has to remain a useful way to work with the project, not the only
way to keep it working.
What independence does not guarantee
Independence from Gabion does not by itself guarantee:
- the absence of errors;
- the safety of any future change;
- compatibility with any version of the dependencies;
- operation on any infrastructure;
-
the preservation of the architectural constraints after manual changes;
- access to future Pikiner updates;
- access to the internal module storage.
After giving up Gabion the client is responsible for further changes, or
transfers that responsibility to a team of their choosing.
The open-source boundary
The following have to be distinguished:
- the client has the source code of their project;
- the client owns the project;
- the client can change the project;
- the project is published under an open-source license;
- Gabion Runtime is open.
The first three properties do not require the last two.
The client receives the source code of their own application. Gabion
Runtime remains closed. The production product runs without it.
Gabion for Pikiner Clients